私のDjango Webアプリケーションでは、ログを取得できません。Django for 500のログと電子メールが機能しない
私の設定ファイルは次のようになります。私は私の意見でこれを持って
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 465
EMAIL_HOST_USER = "[email protected]"
EMAIL_HOST_PASSWORD = "password"
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "[email protected]"
SERVER_EMAIL = 'smtp.gmail.com'
ADMINS = (
('Paul Tremblay', '[email protected]'),
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': '/var/log/django_logs/debug.log'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
},
}
ファイル:
def five_hundred_test(request):
raise ValueError("raising this on purpose for testing for 500")
return render(request, 'my_test/basic_css.html')
私はこの関数に私のブラウザをポイントすると、予想通り、私は(500エラーを取得します)、何も私の電子メールに送られず、何もログファイルに入れられません。私はPython3でDjango 1.9を使用していますが、Apacheを使用してサーバーを実行しています。
に終わるためにエラーを可能にします正しく、 'LOGGING = {'の前に余分なスペースがあります。いずれにしても、常にコンソールからエラートレースバックを追加する必要があります。 –
正しく貼り付けてはいけません。私はまた、 "ロギング"の前にあまりにも多くのスペースがあることを知る。ただし、コードはエラーを発生させません(トレースを含めることはできません)。それは、それが想定していることをしないだけです。 – user3520634
環境変数にエラーがあります。[SERVER_EMAIL](https://docs.djangoproject.com/en/dev/ref/settings/#server-email)に電子メールアドレスが送信されます。私はそれに応じて私の答えを更新します。 – raratiru