• 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
  • 相关阅读:
    HDU 1224 无环有向最长路
    HDU 1220 简单数学题
    HDU 1203 背包问题
    HDU 1176 DP
    HDU 1159 LCS最长公共子序列
    HDU 1160 排序或者通过最短路两种方法解决
    hdu 2349 最小生成树
    次小生成树的学习
    最小生成树prime算法模板
    poj 1679 判断最小生成树是否唯一
  • 原文地址:https://www.cnblogs.com/bonus_scene/p/13655210.html
Copyright © 2020-2023  润新知