python logging使用方法
时间: 2023-09-15 08:19:01 浏览: 108
Python logging 模块是 Python 标准库中提供的一个日志记录工具,它可以用来记录应用程序运行时的信息,便于开发人员排查问题和分析程序性能。
使用 Python logging 模块,需要先导入 logging 模块,然后创建一个 logger 对象,通过配置 logger 的不同 handler,可以控制不同级别的日志输出到不同的地方。
下面是一个简单的使用示例:
```python
import logging
# 创建一个 logger 对象
logger = logging.getLogger(__name__)
# 配置 logger 的 handler
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
# 设置 logger 的日志级别
logger.setLevel(logging.INFO)
# 记录日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
```
在上面的示例中,我们首先创建了一个名为 `__name__` 的 logger 对象,然后配置了一个输出到标准输出的 handler,并设置了日志级别为 `INFO`。接着我们分别记录了不同级别的日志信息,最终输出的日志信息如下:
```
2021-08-25 16:09:59,757 - __main__ - INFO - This is an info message
2021-08-25 16:09:59,757 - __main__ - WARNING - This is a warning message
2021-08-25 16:09:59,757 - __main__ - ERROR - This is an error message
2021-08-25 16:09:59,757 - __main__ - CRITICAL - This is a critical message
```
可以看到,只有日志级别大于或等于 `INFO` 的日志信息被输出到了标准输出。如果我们希望将日志信息输出到文件,可以配置一个输出到文件的 handler,如下所示:
```python
import logging
# 创建一个 logger 对象
logger = logging.getLogger(__name__)
# 配置 logger 的 handler
handler = logging.FileHandler('example.log', mode='w')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
# 设置 logger 的日志级别
logger.setLevel(logging.INFO)
# 记录日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
```
在上面的示例中,我们将日志信息输出到了名为 `example.log` 的文件中。需要注意的是,如果文件不存在,将会被创建,如果文件已存在,将会被覆盖。如果想要追加日志信息而不是覆盖文件,可以将 `mode` 参数设置为 `'a'`。
阅读全文