用于日志记录-Loggers
下面是一个简单的示例,展示了如何创建和配置一个日志记录器:
import logging
def setup_logger(name, log_file, level=logging.INFO):
"""用于设置带有指定名称、日志文件和日志级别的日志记录器的函数。"""
# 创建一个带有指定名称的日志记录器对象
logger = logging.getLogger(name)
# 设置日志记录器的日志级别
logger.setLevel(level)
# 创建一个文件处理器,用于将日志写入到指定的日志文件中
file_handler = logging.FileHandler(log_file)
# 创建一个日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
# 将文件处理器添加到日志记录器中
logger.addHandler(file_handler)
return logger
# 使用示例
logger = setup_logger('my_logger', 'my_log_file.log')
# 记录日志信息
logger.info('这是一个信息消息')
logger.warning('这是一个警告消息')
logger.error('这是一个错误消息')
运行上面代码产生my_log_file.log文件
my_log_file.log文件内容如下:
2024-08-21 21:03:16,576 - my_logger - INFO - This is an info message
2024-08-21 21:03:16,576 - my_logger - WARNING - This is a warning message
2024-08-21 21:03:16,576 - my_logger - ERROR - This is an error message
解释:
- setup_logger: 这是一个函数,用于创建并配置一个带有名称、日志文件和日志级别的日志记录器。
- logging.getLogger(name): 创建一个带有特定名称的日志记录器。
- setLevel: 设置日志记录器的级别,例如 logging.INFO、logging.DEBUG、logging.WARNING 等。
- FileHandler:创建一个文件处理程序,将日志写入到指定的文件中。
- Formatter:定义日志的格式,包括时间、日志名称、日志级别和消息内容。
- addHandler: 将文件处理程序添加到日志记录器中。
日志级别:
- DEBUG: 详细的信息,通常只在诊断问题时使用。
- INFO: 确认程序按预期运行的信息。
- WARNING: 表示某些情况出现问题,可能影响程序继续运行。
- ERROR: 表示更严重的问题,程序可能无法执行某些功能。
- CRITICAL: 表示非常严重的错误,可能导致程序中断执行。
- 你可以根据具体需求进行扩展或修改这个 Loggers 函数。