問題タブ [python-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2387 参照

python-logging - swagger/接続リクエスト本文をログに記録するにはどうすればよいですか?

私は connexion と Swagger を使用して Python で API を作成しています。何が要求されているかを確認できるように、すべての着信呼び出しをファイルに記録したいと考えています。受信した通話のパスをログに記録できましたが、本文をログに記録する方法がわかりません。

ロギングを構成した場所は次のとおりです。

ログを調べると、次の POST 呼び出しのようにパスが表示されます...

2019-03-23 12:47:16,182 - werkzeug - INFO - 127.0.0.1 - - [23/Mar/2019 12:47:16] "POST /golden_record/account HTTP/1.1" 400 -

しかし、呼び出しの本文 (つまり、送信したデータ) が表示されません。着信ごとにこれを自動的に録音する方法はありますか? そうすることで、期待どおりに機能していない呼び出しをデバッグするのに役立ちます。ありがとう!

0 投票する
0 に答える
935 参照

python - Python ロギング モジュールで大きなパフォーマンス ヒット

logging私は通常、開発中にコードをより適切にデバッグするために、Python の組み込みモジュールを使用します。私の典型的なコードは、パフォーマンスに少し敏感です。コードのデバッグが完了したら、ロギング レベルを に設定するだけでWARNING、コンパイラがすべてのloggerコマンドを削除すると仮定しました。

念のためにコードをプロファイリングすることにしました。すべてのロギング呼び出しをコメントアウトしたとき、私のコードのパフォーマンスは、より高いレベルを設定してロギングをオフにしたコードと比較して 20 倍優れていました。つまり、ログ レベルを上げても、コンパイラはログをブランチのままにし、すべてのブランチが原因で CPU パフォーマンスが低下します。

この観察は正しいですか、それとも完全に何かが欠けていますか?

0 投票する
1 に答える
324 参照

python - PythonロギングsetLevel整数入力とはどういう意味ですか?

このリンクを見てください: https://docs.python.org/3/library/logging.html#levels

DEBUG彼らは、数値が 、数値が の10ロギングレベルについて話しINFOます20

使用されたプログラムを見ていhandler.setLevel(level=15)ます。明らかに、これはカスタム ログ レベルです。追加方法については、この回答で説明しています: Python3 add logging level

loggingこれらの質問に答えるには、ドキュメントが不十分であることがわかりました。

  • 15ロギングのコンテキストで何を意味しますか?
  • ほとんどということDEBUGですか?INFOレベルだけを使用しないのはなぜですか?
0 投票する
1 に答える
904 参照

python - 警告がログに記録されているかどうかを確認するPython 2.7 Unittest

Python 2.7 で記述されたモジュールの単体テストを作成しようとしていますが、現在 3.x に移行できません。このテストで必要なのは、モジュールが警告ログを生成するかどうかを確認し、生成する場合はそれをキャプチャすることです。Web とスタック オーバーフローを検索しても、Python 2.7 の答えが見つかりませんでした。試してみたり、私の質問をよりよく理解するために使用できる、簡単なテスト可能なコードを含めました。

更新:明確にするために、テストケースを変更しても構わないと思っています。つまり、そのメソッドの現在の実装test_warning_2をキャッチできるようにすることlog.warnは単なるプレースホルダーです。

ここで関数generate_warning_2が表示されている場合は、テスト ケースでキャプチャされていない従来の python ログ警告を使用していることに気付くでしょう。warningsその理由は、モジュールを使用していないためです。自分がやりたいことを見せたかっただけです。

generate_warning_1モジュールを使用して警告ログをキャプチャする他の関数warningsです。これは、正常に動作する現在の実装です。

これを達成するためlog.warnに使用するのではなく、キャッチできるようにしたいと思います。warningこれはPython 2.7で可能ですか? Python 3.x に関する回答は提供しないでください。

私の質問が明確であることを願っています。お気軽に質問するか、必要に応じて編集してください。ここで何か助けていただければ幸いです。