私は、アプリケーションのユーザに、Pythonのロギングモジュールを使って表示するために、いくつかのレイヤーの情報を持つ例外処理メカニズムを用意しようとしています。python - 例外トレースバックの選択的処理
アプリケーションでは、ロギングモジュールには、DEBUG情報を保持するファイルハンドラと、INFO情報を保持するためのストリームハンドラという2つのハンドラがあります。デフォルトでは、ログレベルはINFOに設定されています。私が達成しようとしているのは、例外が発生した場合、デフォルトでトレースバックなしで単純なエラーメッセージが表示されるセットアップです。ロギングレベルがDEBUGに設定されている場合、ユーザーは単純メッセージのみをにする必要がありますが、今回は例外ハンドラバックがファイルハンドラを介してログファイルに記録されます。
これは可能ですか?
私はlogger.exception(e)
を使ってみましたが、常にトレースバックをコンソールに表示します。
この解決策では、例外から始まるトレースバックではなく、exceptブロックで開始するトレースバックが印刷されます。それは実際にクラッシュの原因をローカライズするのに役立ちません。 –