logging addHandler
时间: 2024-01-10 18:03:20 浏览: 154
Python中内置的日志模块logging用法详解
可以使用`addHandler`方法向日志记录器添加处理程序。`addHandler`方法可以用来添加不同类型的处理程序,例如`StreamHandler`、`FileHandler`等,以将日志消息发送到不同的目标。
以下是一个示例,演示如何使用`addHandler`方法将日志消息发送到控制台和文件中:
```python
import logging
# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建一个处理程序,并设置日志级别
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建一个文件处理程序,并设置日志级别
file_handler = logging.FileHandler('mylog.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('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')
```
上述示例中,我们创建了一个名为`my_logger`的日志记录器,并设置了日志级别为`DEBUG`。然后,我们创建了一个发送日志消息到控制台的处理程序`console_handler`,并设置其日志级别为`INFO`。接着,我们创建了一个将日志消息写入文件的处理程序`file_handler`,并设置其日志级别为`DEBUG`。最后,我们将格式化器应用于处理程序,并将处理程序添加到记录器中。
通过调用`logger.debug`、`logger.info`、`logger.warning`和`logger.error`方法,我们可以记录不同级别的日志消息。这些消息将根据处理程序的日志级别进行过滤,并发送到相应的目标(控制台和文件)。
请注意,以上示例只是一个简单的示例,您可以根据实际需求进行调整和扩展。
阅读全文