Почему эта конфигурация журнала не печатает на стандартный вывод? - PullRequest
2 голосов
/ 21 февраля 2012
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
    'verbose': {
        'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
    },
    'simple': {
        'format': '%(levelname)s %(message)s'
    }
},
'handlers': {
    'console': {
        'level':'DEBUG',
        'class':'logging.StreamHandler',
        'strm': sys.stdout,
        'formatter':'simple'
    },
},
'loggers': {
    'django': {
        'handlers':['console'],
        'propagate': True,
        'level':'INFO',
    }, 
    #'django.request': {
    #    'handlers': ['console'],
    #    'level': 'ERROR',
    #    'propagate': True,
    #},
},
}

Пробовал оба логгера, активный и закомментированный (и многие другие). Запуск

python manage.py runserver 0.0.0.0:8080

И все же на моей консоли не напечатано никаких следов ошибок 500, просто:

[21/Feb/2012 04:21:10] "POST /some/path/function/ HTTP/1.1" 500 105627

Что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 28 мая 2012

Вам необходимо указать filters:

'loggers': {
    'django': {
        'handlers':['console'],
        'filters': [],             # <-- this line
        'propagate': True,
        'level':'INFO',
    },
},

Не знаю почему.

2 голосов
/ 21 февраля 2012

Уровень логгера имеет более высокий приоритет, чем уровень обработчика, logging.DEBUG имеет значение 10, а logging.INFO имеет значение 20.

'handlers': {
    'console': {
        'level':'DEBUG',
    },
}

'loggers': {
        'level':'INFO',
    }

Следовательно, ваше ведение журнала всегда установлено на уровне INFO coz приоритета регистратора, и вывод DEBUG не будет использоваться.

Вот в чем я проблема.

0 голосов
/ 19 декабря 2012

Мне потребовалось некоторое время, чтобы выкопать, но это из-за этого:

https://docs.djangoproject.com/en/dev/releases/1.4/#request-exceptions-are-now-always-logged

Это довольно запутанно и должно быть выделено в документации журналов, а это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...