0

django がログを処理する方法について少し混乱しています。私の設定には、ロガー用の次の設定があります。

ロギング設定

LOGGING = {
    ...
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': LOG_BASE_DIRECTORY + '/django.log',
            'maxBytes': LOGFILE_SIZE,
            'backupCount': LOGFILE_COUNT,
            'formatter': 'verbose'
        },
        'mail_admins': {
             'level': 'ERROR',
             #'filters': ['require_debug_false'],
             'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django': {
            'handlers': ['file','mail_admins'],
            'level': 'INFO',
            'propagate': True,
        },
        'app1': {
            'handlers': ['file','mail_admins'],
            'level': 'DEBUG',
            'propagate': True,
        },

        ...
    },
}

ご覧のとおり、django とアプリのログ、file と mail_admins 用に定義された 2 つのハンドラーがあります。ファイルのログ レベルは debug です。したがって、デバッグ以上のすべてのログがこのハンドラーを使用すると仮定します。mail_admins のレベルはエラーです。私が見ている問題は、電子メール ハンドラーの実行中に 500 エラーが発生し、メールが送信された場合、ファイルにログが記録されないことです。

4

1 に答える 1