Расположение журналов и ошибок Django
Я настроил сервер django с nginx, и он получает ошибку 403 на некоторых страницах.
где я могу найти журналы django? где я могу увидеть ошибки в деталях?
3 ответа:
журналы находятся в . Новый проект по умолчанию выглядит следующим образом:
# A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' } }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, } }
по умолчанию они не создают файлы журналов. Если вы хотите их, вам нужно добавить на
handlers
'applogfile': { 'level':'DEBUG', 'class':'logging.handlers.RotatingFileHandler', 'filename': os.path.join(DJANGO_ROOT, 'APPNAME.log'), 'maxBytes': 1024*1024*15, # 15MB 'backupCount': 10, },
это настроит вращающийся журнал, который может получить размер 15 МБ и сохранить 10 исторических версий.
на
loggers
раздел сверху, вам нужно добавитьapplogfile
доhandlers
для вашего применение'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, 'APPNAME': { 'handlers': ['applogfile',], 'level': 'DEBUG', }, }
этот пример поместит ваши журналы в корень Django в файл с именем
APPNAME.log
настройка https://docs.djangoproject.com/en/dev/topics/logging/ и тогда эти ошибки будут эхом там, где вы их укажете. По умолчанию они, как правило, уходят в сорняки, поэтому я всегда начинаю с хорошей настройки регистрации, прежде чем что-либо еще.
вот действительно хороший пример для базовой настройки: https://ian.пицца/б/2013/04/16/Начало работы с django-вход в систему-5 минут/
изменить: новая ссылка перемещается в: https://github.com/ianalexander/ianalexander/blob/master/content/blog/getting-started-with-django-logging-in-5-minutes.html
добавить в
settings.py
:LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': 'debug.log', }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': True, }, }, }
и он создаст файл с именем
debug.log
в корне. https://docs.djangoproject.com/en/1.10/topics/logging/