22

コードにデバッグ メッセージを追加したいので、Django でデバッグ レベルを DEBUG に変更しようとしました。効果はないようです。

私のロギング構成:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {
        'django.request':{
            'handlers': ['console'],
            'propagate': False,
            'level': 'DEBUG',
        },
    },
}

コード:

import logging ; logger = logging.getLogger(__name__)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")
logger.warn("THIS ONE IS")

コンソールの出力:

WARNING:core.handlers:THIS ONE IS

また、設定ファイルで DEBUG = False および DEBUG = True を設定しようとしました。何か案は?

編集:ロガーに直接ログレベルを設定すると、動作します:

import logging ; logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")

出力:

DEBUG:core.handlers:THIS MESSAGE IS NOT SHOWN IN THE LOGS
WARNING:core.handlers:THIS ONE IS

しかし:設定ファイルは完全に無視されているようです。config の両方のエントリを ERROR に戻しても、常に両方のステートメントが出力されます。これは正しい動作ですか、それともまだ何か不足していますか?

4

2 に答える 2