nginx で django サーバーをセットアップしましたが、一部のページで 403 エラーが発生します。
django のログはどこにありますか? エラーの詳細はどこで確認できますか?
nginx で django サーバーをセットアップしましたが、一部のページで 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 MB になり、10 個の履歴バージョンを保持できるローテーション ログが設定されます。
上記のセクションでは、アプリケーションの に追加するloggers
必要がありますapplogfile
handlers
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'APPNAME': {
'handlers': ['applogfile',],
'level': 'DEBUG',
},
}
この例では、ログを Django ルートの次の名前のファイルに配置します。APPNAME.log