[英]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.