Python中基于时间的日志轮换

2023-04-02 00:00:00 时间 日志 轮换

在Python中,您可以使用标准库中的logging模块来记录日志。日志轮换是指定期将旧日志文件归档并创建新日志文件的过程。您可以使用logging.handlers模块中的TimedRotatingFileHandler类来执行时间基本的日志轮换。

以下是一个基本的例子:

import logging
from logging.handlers import TimedRotatingFileHandler

# 创建日志器
logger = logging.getLogger('pidancode.com')
logger.setLevel(logging.INFO)

# 创建TimedRotatingFileHandler并配置它
log_handler = TimedRotatingFileHandler(filename='mylog.log', when='midnight', interval=1, backupCount=7)
log_handler.setLevel(logging.INFO)
logger.addHandler(log_handler)

# 记录日志
logger.info('Hello from pidancode.com')

在上面的代码中,我们首先创建了一个名为'pidancode.com'的日志器,并将其级别设置为INFO。然后,我们创建了一个TimedRotatingFileHandler,并将其添加到日志器中。在这里,我们将日志文件名设置为'mylog.log',并将when参数设置为'midnight',这意味着每天午夜都会创建一个新的日志文件。我们还将interval参数设置为1,这意味着在每个时间段(这里是每天)结束时,日志文件将被轮换。最后,我们将backupCount参数设置为7,这意味着只保留最近的7个日志文件备份。

当您运行此代码时,它将在当前目录中创建一个名为'mylog.log'的日志文件。每天午夜,它将创建一个新的日志文件,并在旧日志文件上执行轮换。

相关文章