runserver をデバッグモードで実行しているときに、Django 1.0 ですべてのエラーをコンソールまたはログファイルに 書き込むにはどうすればよいですか?
この質問に対する受け入れられた回答で説明されているように、 process_exception 関数を使用してミドルウェア クラスを使用してみました。
django サイトでサーバー エラーをログに記録するにはどうすればよいですか
一部の例外に対して process_exception 関数が呼び出されます (例: views.py の assert(False)) が、importErrors などの他のエラー (例: urs.py の import thisclassdoesnotexist) に対して process_exception が呼び出されません。私は Django/Python が初めてです。これは、実行時エラーとコンパイル時エラーの違いによるものですか? しかし、それがコンパイル時のエラーであり、そうでない場合、 runserver が文句を言うと思います。
Django のデバッグに関する Simon Willison の素晴らしいプレゼンテーション ( http://simonwillison.net/2008/May/22/debugging/ ) を見たことがありますが、私にとって適切なオプションが見つかりませんでした。
関連する場合に備えて、私は Facebook アプリを作成しています。Facebook は、Django の非常に有益な 500 ページを表示するのではなく、独自のメッセージで HTTP 500 エラーをマスクします。したがって、すべてのタイプのエラーをコンソールまたはファイルに書き込む方法が必要です。
編集:私の期待は、urls.pyに不適切なインポート(ImportError)があるときにDjangoが多くの詳細を含む500エラーページを返すことができる場合、同じ詳細をコンソールまたはファイルなしで書き込むことができるはずだということです。コードに追加の例外処理を追加する必要があります。import ステートメントの例外処理を見たことがありません。
ありがとう、ジェフ