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
  • 相关阅读:
    ActiveMQ的两种消息模式,主题、队列
    微信5.0打飞机怎么取得高分?
    微信公众平台消息接口星标功能
    WordPress的SEO技术
    2013中国微信公众平台用户研究报告
    jQuery Mobile入门教程
    微信公众平台商户模块
    使用PHP绘制统计图
    Google Chart API 参考 中文版
    使用Google Chart API绘制组合图
  • 原文地址:https://www.cnblogs.com/bonus_scene/p/13655210.html
Copyright © 2011-2022 走看看