Python日志功能的使用
📕 参考:
Python 常用模块大全(整理) - 略微抖动 - 博客园
Python logging 模块 | 菜鸟教程
logging模块的基本用法
配置日志级别
日志级别用于控制日志的详细程度。logging
模块提供了以下几种日志级别:
- DEBUG:详细的调试信息,通常用于开发阶段。
- INFO:程序正常运行时的信息。
- WARNING:表示潜在的问题,但程序仍能正常运行。
- ERROR:表示程序中的错误,导致某些功能无法正常工作。
- CRITICAL:表示严重的错误,可能导致程序崩溃。
logging.basicConfig(level=logging.DEBUG) #设置日志级别
配置日志输出格式
logging.basicConfig(level=logging.DEBUG,format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",datefmt="%Y-%m-%d %H:%M:%S"
)
日志输出
默认日志输出到控制台,可以配置将日志输出到文件中。
logging.basicConfig(level=logging.DEBUG,format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",filename="app.log"
)
日志的核心类和函数
logger.addHandler(handler) | 添加处理器 | logger.addHandler(handler) |
logger.addFilter(filter) | 添加过滤器 | logger.addFilter(filter) |
日志的使用举例
import logging# 创建记录器
logger = logging.getLogger("my_module")
logger.setLevel(logging.DEBUG)# 控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.WARNING)# 文件处理器
file_handler = logging.FileHandler("debug.log")
file_handler.setLevel(logging.DEBUG)# 格式化
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)# 添加处理器
logger.addHandler(console_handler)
logger.addHandler(file_handler)# 使用
logger.debug("调试信息") # 仅写入文件
logger.warning("警告!") # 同时输出到控制台和文件