在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会自动将当前日志文件重命名为备份文件,并创建一个新的日志文件继续记录日志。备份文件数量限制了可以保留的备份文件数量,超出指定数量的备份文件会被删除。