11

Djangoでサイトを構築しています。

本番サイトでエラーが発生すると、Django は自動的にスタック トレースを settings.py の ADMINS リストに記載されている電子メール アドレスに送信します。

このスタック トレースに各スタック フレームのローカル変数を含めたいと思います (サイトがデバッグ モードのときに標準のスタック トレースが行うように)。

何か案は?

ありがとう!

4

1 に答える 1

14

これを設定するのは本当に簡単です。'include_html': Trueエラーメールを送信しているハンドラーのログ設定を入力するだけです。

例(これは「include_html」行以外のデフォルトのロギングハンドラーです):

'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'filters': ['require_debug_false',],
        'class': 'django.utils.log.AdminEmailHandler',
        'include_html': True
    }
}

これには、DEBUG=Trueの場合に表示されるエラーページの内容を含むHTML添付ファイルがエラー電子メールに含まれます。Djangoのドキュメントには、セキュリティに関する詳細とメモがいくつかあります。

django.utils.log.AdminEmailHandlerのサブクラスを使用するロギングハンドラーの設定を検討することもできますdjango.views.debug.ExceptionReporter。さらにカスタマイズする必要がある場合もあります。

于 2013-03-24T00:29:21.417 に答える