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

ログに記録されるレコードは1つだけで、その後ログがローテーションします。ハンドラーがログを非常に高速にローテーションするのはなぜですか?どこを掘る?サーバー上で複数のdjangoインスタンスが実行されています。1つの巨大なログファイルが作成される前。

4

1 に答える 1

2

これらのファイルに書き込むプロセスが1つだけであることを確認するために、ログファイル名を次のように設定します。

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

見つけたものを投稿してください。

于 2012-04-25T18:15:04.263 に答える