在Python中实现日志分割可以使用logging模块中的RotatingFileHandler类或TimedRotatingFileHandler类。
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger()
logger.setLevel(logging.INFO)
handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=5)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info('This is a log message')
上面的代码将日志输出到名为’app.log’的文件中,当文件大小达到10KB时,会自动创建一个新的文件,并最多保留5个旧日志文件。
import logging
from logging.handlers import TimedRotatingFileHandler
logger = logging.getLogger()
logger.setLevel(logging.INFO)
handler = TimedRotatingFileHandler('app.log', when='midnight', interval=1, backupCount=5)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info('This is a log message')
上面的代码将日志输出到名为’app.log’的文件中,每天午夜时分割日志文件,最多保留5个旧日志文件。