如何在Django中配置日誌記錄以默認爲所有WARNING
及更高版本的消息使用Sentry,但是當我運行管理命令時將其降至INFO
並添加控制檯日誌記錄器?管理命令的單獨日誌記錄
在正常運行時(通過mod_python或uWSGI運行站點),我只關心WARNING
及更高版本。然而,我們有一些管理命令,我們通過cronjobs運行,並且我想在日誌文件中收集它們的INFO
消息(在管理命令中,但也在更深的代碼中)。一些管理命令來自外部庫,我不想改變它們(在那裏添加額外的初始化)。理想情況下,我想在設置模塊中檢測我們是通過manage.py
還是通過WSGI運行。
我目前LOGGING
字典的相關部分:
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
}.
'sentry': {
'level': 'WARNING',
'class': 'raven.contrib.django.handlers.SentryHandler',
},
},
這確實是可能的,但是我需要記住每次都添加這個。我正在尋找一種簡單的方法來檢測Django是通過'manage.py'與另一種方式(很可能是WSGI)來啓動的。 –