您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

每次启动应用程序时旋转日志文件(Python)

每次启动应用程序时旋转日志文件(Python)

如果RotatingFileHandler没有maxBytes,我可能足够使用,然后调用doRollover()应用程序启动。

是的,似乎工作正常。下面的代码将在每次运行应用程序时创建一个新的日志文件,并为日志的开始和关闭时间添加时间戳。运行它将打印可用日志文件的列表。您可以检查它们以检查正确的行为。改编自Python docs示例:

import os
import glob
import logging
import logging.handlers
import time

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)

# Check if log exists and should therefore be rolled
needRoll = os.path.isfile(LOG_FILENAME)

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

my_logger.addHandler(handler)

# This is a stale log, so roll it
if needRoll:    
    # Add timestamp
    my_logger.debug('\n---------\nLog closed on %s.\n---------\n' % time.asctime())

    # Roll over on application start
    my_logger.handlers[0].doRollover()

# Add timestamp
my_logger.debug('\n---------\nLog started on %s.\n---------\n' % time.asctime())

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

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

print '\n'.join(logfiles)
python 2022/1/1 18:34:37 有210人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶