0

我们在 django 日志轮换方面遇到了麻烦。

日志处理程序设置:

'handlers': {
    'null': {
        'level':'DEBUG',
        'class':'django.utils.log.NullHandler',
    },
    'some':{
        'formatter': 'simple',
        'filename':'%s/log/some.log' % (PROJECT_ROOT, ),
        'level':'DEBUG',
        'class':'logging.handlers.RotatingFileHandler',
        'maxBytes': 1024*1024*5, # 5 MB
        'backupCount': 5,
    }
}

日志中的结果:

drwxr-xr-x  2 webserver webserver      4096 Apr 25 11:43 .
drwxr-xr-x 29 webserver webserver      4096 Apr 24 20:58 ..
-rw-r--r--  1 webserver webserver        35 Apr 25 03:58 some.log
-rw-r--r--  1 webserver webserver        30 Apr 25 03:58 some.log.1
-rw-r--r--  1 webserver webserver        30 Apr 25 03:57 some.log.2
-rw-r--r--  1 webserver webserver        35 Apr 25 03:57 some.log.3
-rw-r--r--  1 webserver webserver        35 Apr 25 03:05 some.log.4
-rw-r--r--  1 webserver webserver       631 Apr 25 03:05 some.log.5

只有一条记录进入日志,并且在它之后日志轮换。为什么处理程序旋转日志如此之快?在哪里挖?我们在服务器上运行了不止一个 django 实例。在我们拥有一个巨大的日志文件之前。

4

1 回答 1

2

为了确保只有一个进程写入这些文件,请将日志文件名设置为

'%s/log/some-%s.log' % (PROJECT_ROOT, os.getpid())

并发布您发现的内容。

于 2012-04-25T18:15:04.263 回答