2012-04-25 41 views
0

我們在使用django日誌旋轉時遇到了問題。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實例。 之前我們有一個巨大的日誌文件。

+0

你看[這裏](http://stackoverflow.com/questions/3319860/problem-with-python-logging-rotatingfilehandler-in-django-website)? – neoascetic 2012-04-25 14:02:39

+0

是的,我看過那裏。 – 2012-04-26 10:30:27

回答

1

只是可以肯定,只有一個進程寫入這些文件,設置日誌文件名

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

,並張貼你發現了什麼。

+0

看起來像我需要的!謝謝。 – 2012-04-26 13:13:12