我只是想能夠覆蓋設置文件中的控制檯日誌級別。我閱讀了django logging document,但我無法按照自己的想法做日誌記錄。該文件向我保證:簡潔的方式來更改django控制檯日誌級別
「從Django 1.5轉發,項目的日誌配置與Django的默認值合併,因此您可以決定是否要添加或替換現有配置。要完全覆蓋默認配置,在LOGGING dictConfig中設置disable_existing_loggers鍵爲True,或者你可以重新定義一些或全部記錄器。「
於是,我只需添加以下到我的settings.py:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level': 'DEBUG',
},
},
}
...但我得到一個異常:
<snip>
File "/usr/lib/python2.7/logging/config.py", line 575, in configure
'%r: %s' % (name, e))
ValueError: Unable to configure handler 'console': 'NoneType' object has no attribute 'split'
很公平。它似乎想要整個配置塊。所以,我想什麼,我認爲將是最簡單的控制檯記錄器配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'console':{
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
},
'loggers': {
'default': {
'handlers': ['console'],
'level': 'INFO',
'filters': []
}
}
}
我的目的是設置日誌級別爲INFO,但我還是看到了一堆調試消息和字符串MYFORMATTER不無論如何都出現在其中的任何一個。
最後,盲目樂觀,我嘗試這樣的:
from django.utils.log import DEFAULT_LOGGING
DEFAULT_LOGGING['handlers']['console']['level'] = 'INFO'
我必須在這裏失去了一些東西相當明顯。
順便說一句,我正在使用Django 1.5.1。
您可能感興趣的[sentry](https://github.com/getsentry/sentry)。 –