特定のバックグラウンドファイルのエラーをチェックしたいが、標準エラーストリームはプログラムによってフォアグラウンドで制御されており、表示されます。私はlogging
モジュールを使用し、出力をファイルに書き込むことができます。私はどのようにこれを使用してすべての例外、エラー、およびトレースバックを記録できるのだろうと思っていました。Pythonのロギングモジュールを使用してすべての例外とエラーをログに記録
答えて
例外がプログラム内にスローされたことを記録するのは悪い考えです。Pythonは通常の制御フローに対しても例外を使用するためです。
したがって、はキャッチされていません。例外を記録してください。これを行うには、例外オブジェクトがあれば、簡単にロガーのexception()
methodを使用します。
try...except
ブロック内、またはすることで、カスタム例外ハンドラをインストールすることで、スクリプトのエントリポイントをラップするか、すべてのキャッチされない例外を処理するには
sys.excepthook()
を再割り当て:
import logging
import sys
logger = logging.getLogger('mylogger')
# Configure logger to write to a file...
def my_handler(type, value, tb):
logger.exception("Uncaught exception: {0}".format(str(value)))
# Install exception handler
sys.excepthook = my_handler
# Run your main script here:
if __name__ == '__main__':
main()
ありがとう!これはまさに私が必要としていたものです。 –
'sys___ excepthook __(type、value、tb)'を 'my_handler'に追加するのは良い考えではないので、例外でデフォルトアクションを処理できますか? – troyane
@Ferdinand Beyer:Neat。 str(value))、 'str(value)))'私の場合は 'ERROR - キャッチされない例外:IndexError:list範囲外のインデックスを作成し、何らかの理由で「なし」と表示します。私はどのようにして完全なトレースバックを得ることができますか? 'tb'はトレースバックオブジェクトであるようですが、' traceback.print_tb(tb) 'も' None'を吐き出します。 – bioslime
- 1. Spring MVCがすべての例外をログに記録しない
- 2. マルチキャストOnExceptionAspectはバブル例外をログに記録しています
- 3. NServiceBus例外がINFOメッセージとしてログに記録される
- 4. JavaScriptシングルトンを使用してエラーをログに記録する
- 5. PythonロギングモジュールがMacではログに記録されますが、Linuxではログに記録されません。
- 6. エラー/例外をログに記録する対象者
- 7. リソースが不足してログに記録できない例外
- 8. Javaでcommons.loggingを使用して例外を記録する?
- 9. SpringのSimpleMappingExceptionResolverの例外スタックトレースをログに記録する方法
- 10. すべてのココアイベントをログに記録しますか?
- 11. MySQLストアドプロシージャの例外情報をログに記録する
- 12. すべてのブラウザのDOM/JQueryイベントを記録またはログに記録
- 13. 例外をログに記録しないElmah
- 14. JMX(MBean)を使用してWebLogicステータスをログに記録する
- 15. Rubyで自動的に例外をログに記録する
- 16. iOSアプリケーションのすべてのボタンプレス/インタラクションをログに記録する
- 17. Javaアプリケーションのすべてのネットワークインタラクションをログに記録する
- 18. プロジェクト内のすべてのUIViewControllerのクラス名をログに記録
- 19. エンタープライズライブラリ5.0イベントログにイベントIDとしてログに記録エラー6352
- 20. ASLを使用してconsole.appにログを記録
- 21. 「キャッチされた」例外をログに記録する方法は?
- 22. SLF4Jでプレースホルダを使用して例外とメッセージを記録する方法
- 23. すべてのブラウザコンソールログイベントをログに記録する方法
- 24. すべてのsqlクエリをログに記録
- 25. Go言語を使用してログに記録Simple HTTP Server
- 26. "customErrors mode =" On ""のときに、どのように例外を表示/使用/ログに記録できますか?
- 27. Guzzle 6を使用してすべてのAPI呼び出しをログに記録する方法
- 28. 春のセキュリティがuserDetailServiceとpasswordEncoderを使用してログに記録できない
- 29. Fiddler2を使用してウェブページのトラフィックをリアルタイムでログに記録するには?
- 30. Xcode 4:例外がコンソールにログに記録されない
[でキャッチされない例外をログに記録する可能性のある重複Python](http://stackoverflow.com/questions/6234405/logging-uncaught-exceptions-in-python) –