Информация о журнале Django, а также журналы ошибок на производстве - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь войти в систему ИНФО, а также в ОШИБКУ войти в производство.Но я не уверен, как упомянуть оба уровня журнала для одного и того же проекта.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'root': {
        'level': 'WARNING',
        'handlers': ['console', ],
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s '
                      '%(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
        'sns': {
            'level': 'ERROR',
            'class': 'project.abc.snshandler.SNSHandler',
            'formatter': 'verbose'

        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'ERROR',
            'handlers': ['console', ],
            'propagate': False,
        },
        'django.security.DisallowedHost': {
            'level': 'ERROR',
            'handlers': ['console', ],
            'propagate': False,
        },
        'project': {
            'level': 'ERROR',
            'handlers': ['console', 'sns'],
            'propagate': False,
        },

    },
}

На уровне проекта я также хочу регистрировать журналы INFO.

1 Ответ

0 голосов
/ 21 мая 2018

Уровень ведения журнала, который вы указываете в своей конфигурации, равен минимуму .Напомним, здесь предопределенные уровни в порядке важности (от минимального к максимальному):

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

Итак, если вы введете INFO в вашей конфигурации, вы увидите все журналы, помеченные как INFO, WARNING, ERROR и CRITICAL.

Если вы действительно хотите видеть only INFO и ERROR, вы можете попробовать написать собственный код, но я не рекомендую егокак это пахнет как плохой дизайн.

Ссылки :

Редактировать

Вот как будет выглядеть ваша конфигурация:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'root': {
        'level': 'WARNING',
        'handlers': ['console', ],
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s '
                      '%(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
        'sns': {
            'level': 'ERROR',
            'class': 'project.abc.snshandler.SNSHandler',
            'formatter': 'verbose'

        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'INFO',
            'handlers': ['console', ],
            'propagate': False,
        },
        'django.security.DisallowedHost': {
            'level': 'INFO',
            'handlers': ['console', ],
            'propagate': False,
        },
        'project': {
            'level': 'INFO',
            'handlers': ['console', 'sns'],
            'propagate': False,
        },

    },
}
...