簡體   English   中英

Django的。 運行多個實例的日志輪換

[英]Django. Log rotation with multiple instances running

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實例。 在我們擁有一個巨大的日志文件之前。

為了確保只有一個進程寫入這些文件,請將日志文件名設置為

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

並發布您發現的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM