温馨提示×

log函数python的日志轮转实现

小樊
84
2024-08-24 01:02:33
栏目: 编程语言

在Python中,可以使用logging模块来实现日志的轮转。日志轮转是指在日志文件达到一定大小或者时间间隔时,自动将日志文件重命名并创建一个新的日志文件来继续记录日志。以下是一个简单的示例代码,演示了如何在Python中实现日志轮转。

import logging
from logging.handlers import RotatingFileHandler

# 创建一个logger对象
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

# 创建一个RotatingFileHandler对象,用于处理日志轮转
log_handler = RotatingFileHandler('my_log.log', maxBytes=10000, backupCount=2)
log_handler.setLevel(logging.DEBUG)

# 设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
log_handler.setFormatter(formatter)

# 将handler对象添加到logger对象
logger.addHandler(log_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')
logger.critical('This is a critical message')

在上面的示例中,我们首先创建了一个logger对象,并设置了其级别为DEBUG。然后创建了一个RotatingFileHandler对象,指定了日志文件名为my_log.log,并设置了最大文件大小为10000字节,备份文件数量为2个。接着设置了日志格式并将handler对象添加到logger对象中。最后使用logger对象记录了不同级别的日志消息。

当日志文件大小达到指定大小时,RotatingFileHandler会自动将当前日志文件重命名为备份文件,并创建一个新的日志文件继续记录日志。备份文件数量限制了可以保留的备份文件数量,超出指定数量的备份文件会被删除。

0