2012-01-05 57 views
0

我運行的Django 1.3與生產的Django芹菜2.4.2。Django的記錄打破了芹菜守護

因爲我已激活Django的日誌記錄在Django的settings.py文件,芹菜守護進程(celeryd)不會運行了。 刪除日誌記錄功能可解決問題。在settings.py

我的日誌代碼如下所示:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'standard': { 
      'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' 
     }, 
    }, 
    'handlers': { 
     'write_to_log': { 
      'level':'WARNING', 
      'class':'logging.handlers.RotatingFileHandler', 
      'filename': '/path/to/project/logs/errors.log', 
      'maxBytes': 1024*1024*5, # 5 MB 
      'backupCount': 5, 
      'formatter':'standard', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['write_to_log'], 
      'level': 'WARNING', 
      'propagate': True 
     } 
    } 
} 

編輯: 我的測井解釋,這fixxes問題之前添加以下代碼。如果有人有更乾淨的解決方案,我想聽聽。

import sys 
if not "celeryd" in sys.argv: 
    LOGGING = ... 
+2

定義「芹菜守護進程(celeryd)慣於運行了」:

嘗試使用禁用芹菜日誌劫持。當你嘗試運行它會發生什麼? – jpic 2012-01-05 10:12:36

回答

2

celeryd劫持並配置根記錄器,所以可能會有衝突。

CELERYD_HIJACK_ROOT_LOGGER=False