在Python中,使用logging模块配合RotatingFileHandler或TimedRotatingFileHandler可以实现日志文件按大小滚动。以下是一个配置示例,该配置将日志文件大小限制为1MB,并在超过该大小时滚动日志文件。

import logging from logging.handlers import RotatingFileHandler

1、创建一个RotatingFileHandler,设置文件大小和文件数量上限

rotating_handler = RotatingFileHandler('application.log', maxBytes=1024*1024, backupCount=1) rotating_handler.setLevel(logging.INFO)

2、创建一个Formatter

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') rotating_handler.setFormatter(formatter)

3、创建一个logger

logger = logging.getLogger('myApp') logger.addHandler(rotating_handler) logger.setLevel(logging.INFO)

4、测试日志

logger.info('This is an info message')

在这个配置中,当application.log文件大小超过1MB时,会生成一个新的application.log文件,同时将旧的日志文件备份。通过backupCount参数可以指定保留的备份文件数量,超过这个数量将会被删除旧的日志文件。


python logging 限制文件大小_备份文件