python logging 日志级别设置

186 阅读1分钟

日志级别和输出的关系:

  1. 日志级别从低到高:
DEBUG < INFO < WARNING < ERROR < CRITICAL
  1. 控制台输出 (console_handler):
  • 设置级别:setLevel(logging.INFO)
  • 会输出 INFO 及以上级别的日志
  • 即:INFO, WARNING, ERROR, CRITICAL
  • 不会输出 DEBUG 级别的日志
  • 原因:控制台通常只需要显示重要信息,避免过多调试信息干扰
  1. 文件输出 (file_handler):
  • 设置级别:setLevel(logging.DEBUG)
  • 会输出 DEBUG 及以上级别的所有日志
  • 即:DEBUG, INFO, WARNING, ERROR, CRITICAL
  • 原因:文件适合保存详细的调试信息,方便问题排查
  1. 举例:
logger.debug("调试信息")    # 只写入文件
logger.info("普通信息")     # 同时输出到控制台和文件
logger.warning("警告信息")  # 同时输出到控制台和文件
logger.error("错误信息")    # 同时输出到控制台和文件
logger.critical("严重错误") # 同时输出到控制台和文件

这样的设计满足了不同场景的需求:调试时可以查看详细日志文件,日常运行时控制台只显示重要信息。