zoukankan      html  css  js  c++  java
  • python-logging

    logging

      logging,python原生日志模块。

      组成:logger,handler,formatter,filter

      其它:level,logger:root,propagate属性

      日志的作用:略。logging模块的使用方式也比较简单。关键:①日志重要程度区分;②日志需要记录的内容;

    1.日志等级

    1. DEBUG
    2. INFO
    3. WARNING
    4. ERROR
    5. CRITICAL
    6. EMERGENCY

      说明:1->6 等级是依次升高的,日志的信息量是依次减少的。

    2.日志格式和内容

      时间,位置,级别,内容

      formatte的doc有格式配置的详细说明。

    3.实现方式

    1. logging模块级别的函数:
      1. logging.basicConfig()进行logging的配置。执行过才有效
      2. logging.debug("这是一个debug!")
    2. getLogger对象:logger = logging.getLogger("logger") ;  logger.debgu("这是一个debug!")
    3. logging.config.fileConfig():传入一个logConfig.ini文件解析并配置

     4.自定义logger

    #! coding=utf-8
    import logging
    import sys
    
    
    def setup_logger(level=logging.DEBUG):
        """配置logger"""
        # set formatter
        fmt = '%(asctime) %(levelname)s %(message)s'
        datefmt = '%Y-%m-%d %H:%M:%S'
        formatter = logging.Formatter(fmt=fmt, datefmt=datefmt)
    
        # set logger
        logger.propagate = False    # 关闭 "root.__name__" -> "root"
        logger.setLevel(level)
    
        # set handler
        fh = logging.FileHandler(Path.LOG_FILE, encoding='utf-8')
        sh = logging.StreamHandler(stream=sys.stderr)
        err_fh = logging.FileHandler(Path.ERR_LOG_FILE)
        err_fh.setLevel(logging.WARNING)
        handlers = (fh, sh, err_fh)
    
        # 配置
        for handler in handlers:
            handler.setFormatter(formatter)
            logger.addHandler(handler)
    
    
    # global logger
    logger = logging.getLogger(Path.PROJECT_NAME)
    setup_logger()


    if __name__ == '__main__':
      logger.debug('这是debug') # 输出到sh,fh
      logger.error('这是error') # 输出到sh,fh,err_fh
  • 相关阅读:
    YTU 2959: 代码填充--雨昕学矩阵
    YTU 2958: 代码填充--雨昕学画画
    YTU 2960: 改错题--小鼠标,你要干什吗?
    YTU 2975: 我的编号
    YTU 2979: MathBook类--多态
    linux命令学习:echo详解,格式化输出,不换行输出
    linux shell date 时间运算以及时间差计算方法
    C语言中mktime函数功能及用法
    Posix线程编程指南(3)
    Posix线程编程指南(2)
  • 原文地址:https://www.cnblogs.com/bonus_scene/p/13655210.html
Copyright © 2011-2022 走看看