使用TimedRotatingFileHandler和Django截断日志文件

时间:2014-10-01 11:11:38

标签: python django logging mod-wsgi

我将日志处理程序配置为在午夜轮换:

'request_handler': {
        'level': 'DEBUG',
        'class': 'logging.handlers.TimedRotatingFileHandler',
        'when': 'midnight',
        'interval': 1,
        'filename':  os.path.join(LOG_ROOT, 'django_request.log'),
        'backupCount': 30,
        'formatter': 'standard',
        },

还有cron job来使用命令存档/清除日志,该命令每天01:00运行(crontab -e - >“0 1 * * * /cronscripts/archive_logs.sh”):

gzip --quiet *\.log\.[0-9]*
find $LOGS_DIR -mtime +$LOGS_KEEP_DAYS -exec rm {} \;

使用该配置日志文件由于某种原因而被截断,这里描述:

  1. 旋转日志django_request.log.2014-09-30将有从00:00到2:30的记录(结束时间可能有所不同)
  2. 同时旋转前的django_request.log在02:30之后有记录
  3. django_request.log.2014-09-30文件的记录日期为10月1日而不是9月30日
  4. 示例:

    alex@localhost$ tail django_request.log.2014-09-30
    2014-10-01 02:02:48,562 [WARNING] django.request: Not Found: /admin_media/i...
    

    有什么想法有什么不对吗? Django正在运行apache / mod_wsgi。

0 个答案:

没有答案
相关问题