[python] logging package

Preface

Encountered this code

# 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 should be a global variable

to sum up

The easiest way to create a logger is the following four steps:

  • 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)

reference

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

Guess you like

Origin blog.csdn.net/jokerxsy/article/details/111937656