Я встановив сервер django за допомогою nginx, і на деяких сторінках він отримує помилку 403.
Де я можу знайти журнали django? де я можу детально побачити помилки?
Я встановив сервер django за допомогою nginx, і на деяких сторінках він отримує помилку 403.
Де я можу знайти журнали django? де я можу детально побачити помилки?
Відповіді:
Журнали встановлюються у вашому settings.py
файлі. Новий проект за замовчуванням виглядає так:
# 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,
},
}
}
За замовчуванням вони не створюють файли журналів. Якщо ви хочете їх, вам потрібно додати filename
параметр до вашого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
logger = logging.getLogger('APPNAME')
в цьому випадку
views.py
Додайте до свого 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/
/var/www/debug.log
. Це створить 2 окремі файли, якщо ваш проект Django знаходиться поза /var/www/
директорією. Будь ласка, використовуйте 'filename': os.path.join(BASE_DIR, 'debug.log'),
замість цього.
Internal Server Error
. будь-яке нове рішення?
Налаштування https://docs.djangoproject.com/en/dev/topics/logging/ і тоді ці помилки відлунять там, куди ви їх вкажете. За замовчуванням вони, як правило, знищуються в бур’янах, тому я завжди починаю з гарного налаштування лісозаготівлі перед будь-чим іншим.
Ось справді хороший приклад для базового налаштування: https://ian.pizza/b/2013/04/16/getting-started-with-django-logging-in-5-minutes/
Редагувати: нове посилання переміщено за адресою : https://github.com/ianalexander/ianalexander/blob/master/content/blog/getting-started-with-django-logging-in-5-minutes.html
ian.pizza
, так ось фактична посилання: ian.pizza/b/2013/04/16 / ...