TImed旋转日志文件处理程序是否类似于ConcurrentLogHandler?

时间:2018-07-09 16:16:14

标签: django logging concurrency process

我有一个正在运行的Django应用的Web服务器部署。部署使用8个不同的工作进程来处理流量请求中的峰值。

应用程序的另一部分是,我将许多用户输入记录到日志文件中。在当前状态下,我正在使用TimedRotatingFileHandler在午夜翻转文件。然后,将带有日期标记的文件与S3存储桶同步以进行存储。

最初的部署只是一个工作进程,而最近的变更是增加到8个进程。但是,自从发生更改以来,我注意到了日志文件的问题,其中昨天的日志最终被截断了,而当天的全部内容都出现在日志文件中。

描述了一个类似的问题here,但是我的问题是,由于该问题已有5年历史,自那段时期以来,在允许对多个进程的日志进行并发定时文件轮换方面有什么进展吗? ?

对于代码,我将展示Django日志的示例日志声明:

'test_session': {

            'level': 'INFO',

            'class': 'logging.handlers.TimedRotatingFileHandler',

            'filename': '/logs/test.log',

            'when': 'midnight', # this specifies the interval

            'interval': 1, # defaults to 1, only necessary for other values 

            'backupCount': 7, # how many backup file to keep, 7 days

            'delay': False,

        },

    },

    'loggers': {

        'test_session_recording': {

            'handlers': ['test_session'],

        },

0 个答案:

没有答案