Pyramid フレームワークで書かれた Python アプリケーションがあります。
標準のインポート ライブラリを使用して、(デバッグ用に) これにログオンすることを実際に利用します。
本番環境でプロファイルを作成していると、ロギング アクティビティからかなりのオーバーヘッドが発生しているようです。すべての文字列の書式設定とループが加算されます。削除したいのですが、できません。実際には、テストのために保持する必要があり、運用環境でデバッグする必要がある場合もあります。
必要に応じてロギングを最小限に抑えるための効果的な戦略を誰かが持っているかどうか疑問に思っています.
たとえば、mod_perl では、コンパイラは False 定数で実行されるステートメントを「最適化」します。
疑似コードで... (私は長い間perlに触れていません!)
use constant DEBUG => False ;
if ( DEBUG ) {
log.debug("stuff here " + string );
}
また
use constant DEBUG => False ;
DEBUG && log.debug("stuff here " + string );
これらのシナリオでは、log.debug の呼び出しや文字列補間さえも行われません。
Python でその動作を模倣する効果的な方法を推奨できる人はいますか?