在Python中,可以使用logging模塊來實現日志的輪轉。日志輪轉是指在日志文件達到一定大小或者時間間隔時,自動將日志文件重命名并創建一個新的日志文件來繼續記錄日志。以下是一個簡單的示例代碼,演示了如何在Python中實現日志輪轉。
import logging
from logging.handlers import RotatingFileHandler
# 創建一個logger對象
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 創建一個RotatingFileHandler對象,用于處理日志輪轉
log_handler = RotatingFileHandler('my_log.log', maxBytes=10000, backupCount=2)
log_handler.setLevel(logging.DEBUG)
# 設置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
log_handler.setFormatter(formatter)
# 將handler對象添加到logger對象
logger.addHandler(log_handler)
# 記錄日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
在上面的示例中,我們首先創建了一個logger對象,并設置了其級別為DEBUG。然后創建了一個RotatingFileHandler對象,指定了日志文件名為my_log.log,并設置了最大文件大小為10000字節,備份文件數量為2個。接著設置了日志格式并將handler對象添加到logger對象中。最后使用logger對象記錄了不同級別的日志消息。
當日志文件大小達到指定大小時,RotatingFileHandler會自動將當前日志文件重命名為備份文件,并創建一個新的日志文件繼續記錄日志。備份文件數量限制了可以保留的備份文件數量,超出指定數量的備份文件會被刪除。