gpt4 book ai didi

python - Python 的记录器是否能够轮换日志文件?

转载 作者:行者123 更新时间:2023-12-02 21:08:26 24 4
gpt4 key购买 nike

有没有办法使用 python 中附带的日志记录模块来轮换日志文件?就像 logrotate 中那样?

我使用了 logrotate,但它给出了一些奇怪的结果。

最佳答案

我想 this可以帮助你。

是的,您也可以类似于 Linux 中的 logrotate 在 Python 中轮换日志文件。以下是上面链接中的一个小例子:

import glob
import logging
import logging.handlers

LOG_FILENAME = 'logging_rotatingfile_example.out'

# Set up a specific logger with our desired output level
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)

# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
LOG_FILENAME, maxBytes=20, backupCount=5)

my_logger.addHandler(handler)

# Log some messages
for i in range(20):
my_logger.debug('i = %d' % i)

# See what files are created
logfiles = glob.glob('%s*' % LOG_FILENAME)

for filename in logfiles:
print(filename)

脚本的输出是:

logging_rotatingfile_example.out
logging_rotatingfile_example.out.1
logging_rotatingfile_example.out.2
logging_rotatingfile_example.out.3
logging_rotatingfile_example.out.4
logging_rotatingfile_example.out.5

最新的文件始终是 logging_rotatingfile_example.out,每次达到大小限制时,它都会使用后缀 .i 重命名。每个现有的备份文件都被重命名以增加后缀(.1 变为 .2,等等)。

这只是一个演示示例。在现实生活中,您应该将 maxBytes 设置为适当的值。

来源:Python Docs (上面列出的文章,以防链接被破坏)

关于python - Python 的记录器是否能够轮换日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34872435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com