Python的日志处理
Python如何进行日志处理?
Python提供了`logging`模块用于日志处理。
日志级别
`logging`模块定义了以下五个日志级别,从低到高分别是`DEBUG`、`INFO`、`WARNING`、`ERROR`、`CRITICAL`。
| Level | Numeric value |
|———-|—————|
| CRITICAL | 50 |
| ERROR | 40 |
| WARNING | 30 |
| INFO | 20 |
| DEBUG | 10 |
| NOTSET | 0 |日志处理器
`logging`模块提供了很多种日志处理器,比如`StreamHandler`、`FileHandler`、`RotatingFileHandler`、`TimedRotatingFileHandler`等等。不同的处理器用于将日志输出到不同的地方,比如控制台、文件、邮件等。
日志格式化
`logging`模块提供了很多种格式化方式,可以将日志输出的信息格式化为不同的样式,比如日期、时间、日志级别等等。
示例代码
下面是一个简单的示例代码,用于演示如何使用`logging`模块进行日志处理。
“`python
import logging# 创建一个logger对象
logger = logging.getLogger()# 设置日志级别为DEBUG
logger.setLevel(logging.DEBUG)# 创建一个控制台处理器,并将日志级别设置为DEBUG
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)# 创建一个文件处理器,并将日志级别设置为WARNING
file_handler = logging.FileHandler(‘log.txt’, mode=’a’)
file_handler.setLevel(logging.WARNING)# 创建一个简单的格式化器
formatter = logging.Formatter(‘%(asctime)s – %(name)s – %(levelname)s – %(message)s’)# 给处理器设置格式化器
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)# 给logger对象添加处理器
logger.addHandler(console_handler)
logger.addHandler(file_handler)# 输出日志
logger.debug(‘debug message’)
logger.info(‘info message’)
logger.warning(‘warning message’)
logger.error(‘error message’)
logger.critical(‘critical message’)
“`在上面的代码中,我们首先创建了一个`logger`对象,并设置了日志级别为`DEBUG`,然后创建了一个控制台处理器和一个文件处理器,分别被设置为不同的日志级别,最后将处理器添加到`logger`对象中。
使用`logging`模块进行日志处理可以很方便地记录程序的运行情况,并帮助我们找到程序中的问题。
2023年05月05日 14:18