温馨提示×

log函数python中如何实现日志分割

小樊
90
2024-08-24 00:50:32
栏目: 编程语言

在Python中实现日志分割可以使用logging模块中的RotatingFileHandler类或TimedRotatingFileHandler类。

  1. 使用RotatingFileHandler类:
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个旧日志文件。

  1. 使用TimedRotatingFileHandler类:
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个旧日志文件。

0