在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個舊日志文件。