Django で エラーの扱いを考える
Django 使って ?(ハテナ)になった事の一つは、500エラーなどが Webログに残らない点。
メール通知
settings.py の DEBUG=True を設定すれば、エラー発生時にエラーページは表示されるのですが、エラーログ自体はログファイルに記録されないのですよね。
本番では DEBUG=False で運用するのに、どやって知るのかというと、メールでの通知を行うというのが基本になるようです。
500 と 404 を分けて通知できたりと、ちょっと工夫されていますが、ログファイルにも残しておきたいなぁと思ったり
ログファイルに記録する
同じ問題は、いろんな方々が対応を試みてるようです。
handler500 をオーバーライドして対応
MiddleWare を追加して対応
mod_wsgi ホストの際のログ扱い
その他
settings.py の ALLOWED_HOSTS を適切に設定しなかったから Bad Request (400) Error が出たりする時も、フレームワークを理解していないと対策が難しい問題の一つですね。
- python - Debugging Apache/Django/WSGI Bad Request (400) Error - Stack Overflow
- Settings | Django documentation | Django
全然話しは違いますが、IISだとhttp.sysが補足してくれてログには残ったような > 400。
なんにせよ、アクセス数が増える前に、これらを参考に対応を実施しておきたいと思います。