logging模块化组件的使用

logging 模块化组件的使用

1. 使用流程

  1. 创建一个logger对象
  2. 创建处理器对象
  3. 设置处理器对象的最低输出等级
  4. 创建并设置日志输出格式
  5. 将 日志输出格式 与 处理器对象 进行绑定 (即设置处理器对象的日志输出格式)
  6. 将 logger对象 与 处理对象进行绑定 (即为logger对象添加处理器)

2. 实例

import logging


# 1. 创建一个logger 对象
# logger = logging.getLogger('mylogger')
logger = logging.Logger('mylogger')

# 2. 将日志输出到什么地方去,  # 处理器对象
stream_handler = logging.StreamHandler()   # 控制台
# 它能够输出的最低等级就是warning, 即使设置了DEBUG 和 INFO 也不会输出这两个日志等级,      # logger = logging.getLogger() 创建的logger对象, 是这种现象,           # logger = logging.Logger() 创建的就不是,你设置的等级是多少,就能显示多少
# stream_handler.setLevel(logging.DEBUG)   # 为输出到控制台的这个处理对象单独设置输出的等级
stream_handler.setLevel(logging.DEBUG)   # 设置最低输出等级为DEBUG

# file_handler = logging.FileHandler('test_logger.txt')
# file_handler.setLevel(logging.CRITICAL)

# 3. 设置日志输出的格式,
formatter = logging.Formatter('时间: %(asctime)s, 文件:%(filename)s, 日志等级:%(levelname)s, 函数名: %(funcName)s')

# 4. 然后将 日志输出格式formatter 与 处理对象绑定
stream_handler.setFormatter(formatter)
# file_handler.setFormatter(formatter)

# 5. 将日志对象logger 和处理对象进行绑定   # 将处理器对象 添加到 日志对象logger对象中去
logger.addHandler(stream_handler)
# logger.addHandler(file_handler)


if __name__ == '__main__':
    a = '调试debug'
    logger.debug(a)
    b = 'info信息'
    logger.info(b)

    # c = 'warning警告'  # 默认能够输出信息的最低等级
    # logger.warning(c)
    # d = 'error 出错'
    # logger.error(d)
    # e = 'critical危险信息'
    # logger.critical(e)

原文地址:https://www.cnblogs.com/nichengshishaonian/p/11545914.html