[python] logging package

前言

遇到这段代码

# LOGGING_NAMESPACE = 'diora'
 # Create logger.
    logger = logging.getLogger(LOGGING_NAMESPACE)
    # NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL
    logger.setLevel(logging.INFO)
    # Create file handler. # 文件日志
    fh = logging.FileHandler(log_file)
    fh.setLevel(logging.INFO)

    # Also log to console. # 控制台日志
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)

    # create formatter and add it to the handlers
    # %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”
    # %(levelname)s 文本形式的日志级别
    # %(message)s 用户输出的消息
    formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)

    # add the handlers to the logger
    logger.addHandler(fh)
    logger.addHandler(ch)

    # HACK: Weird fix that counteracts other libraries (i.e. allennlp) modifying
    # the global logger.
    if len(logger.parent.handlers) > 0:
        logger.parent.handlers.pop()

logger应该是一个全局变量

总结

创建logger最简单是以下四步:

  • logger = logging.getLogger(projectname);logger.setLevel()
  • file_handler = logging.FileHandler(logfile);file_handler.setLevel()
  • console_handler = logging.StreamHandler();console_handler.setLevel()
  • formatter = logging.Formatter(’%(asctime)s [%(levelname)s] %(message)s’)
  • file_handler.setFormatter();console_handler.setFormatter()
  • logger.addHandler(fh);logger.addHandler(ch)

参考

https://blog.csdn.net/pansaky/article/details/82685663

猜你喜欢

转载自blog.csdn.net/jokerxsy/article/details/111937656
今日推荐