我有一个正在运行的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'],
},