2013-07-19 94 views
5

我只是想能夠覆蓋設置文件中的控制檯日誌級別。我閱讀了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。

+0

您可能感興趣的[sentry](https://github.com/getsentry/sentry)。 –

回答

3

這裏回答我的問題,我結束了在settings.py文件下面會:

import logging 

logging.basicConfig(
    level = logging.INFO, 
    format = " %(levelname)s %(name)s: %(message)s", 
) 
0

你可以做到這一點,設置Django的日誌記錄級別:

import logging 
logging.disable(logging.INFO) 

logging.disable(LVL)

提供了一個壓倒一切的水平拉特其優先於 記錄自己的所有記錄儀水平。當需要 在整個應用程序中暫時關閉油門記錄輸出時,此功能可能很有用。它的作用是禁用所有調用嚴重級別爲lvl及以下的調用,因此如果您使用INFO的值 調用它,則所有INFO和DEBUG事件都將被丟棄,而 嚴重級別爲WARNING及以上的那些將根據到 記錄器的有效等級。要撤消對logging.disable(lvl)調用 的影響,請調用logging.disable(logging.NOTSET)。

http://docs.python.org/2/library/logging.html#logging.disable

+0

嗯。但是,如果底層記錄器被配置爲在INFO上打印並且我想在控制檯上看到DEBUG消息,則這不起作用。 – user2076663

+0

好的,你在你的問題中說的相反;) – maazza

0

我也有類似的發出─我是缺少一個「類「來自我的一位經理。

相關問題