是的,Python的logging模塊提供了RotatingFileHandler類來實(shí)現(xiàn)日志按大小分割的功能。這個(gè)類可以設(shè)置日志文件的最大大小和最大備份文件數(shù),當(dāng)日志文件達(dá)到最大大小時(shí)會(huì)自動(dòng)創(chuàng)建新的日志文件并將舊文件備份。以下是一個(gè)使用RotatingFileHandler類的示例代碼:
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger('example')
logger.setLevel(logging.INFO)
handler = RotatingFileHandler('example.log', maxBytes=1024, backupCount=3)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info('This is a test message')
在上面的例子中,設(shè)置了最大日志文件大小為1024字節(jié),最大備份文件數(shù)為3個(gè)。當(dāng)example.log文件達(dá)到1024字節(jié)時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)新的日志文件example.log.1,并將舊文件備份為example.log.2,依此類推。