Я использую веб-сервер apache и mod_wsgi для передачи запроса в django.
$ apache2ctl -v
Server version: Apache/2.4.10 (Raspbian)
Server built: Sep 17 2016 16:40:43
Я использую этот сайт apache для объявления приложения django:
ServerName example.com
DocumentRoot /srv/webapps/myapp
<Directory /srv/wepapps/myapp/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess example.com python-path=/srv/webapps/myapp:/usr/local/lib/python3.4/dist-packages:/usr/lib/python3/dist-packages
WSGIProcessGroup example.com
WSGIScriptAlias / /srv/webapps/myapp/mysite/wsgi.py
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
Он отлично работает, но если возникает исключение, отображается ошибка 500, но в моем example.com_error.log
. Если я изменю свои настройки, чтобы установить Debug = True
, Я вижу ошибку в моем веб-браузере, но и в моем файле / var / log / apache2. Но я действительно не хочу, чтобы этот параметр оставался в моей производственной среде.
У тебя есть идея, почему я должен поставить Debug = True
разрешить django писать в системные журналы?
Заранее спасибо за ваши ответы и извините, если я допустил ошибки с моим английским ;-)
В вашем файле settings.py вам нужно будет добавить следующее в конфигурацию LOGGING:
LOGGING = {
# ... omitting the formatters and handlers for brevity ...
'loggers': {
# ... you may have other loggers here as well ...
'django': {
'handlers': ['name_of_your_file_handler_goes_here'],
'level': 'DEBUG',
'propagate': True,
}
}
Вероятно, вам следует установить уровень ERROR или WARN в производстве.