これまで、コードに「print debugmessage」および「ifcondition:printdebugmessage」を追加してきました。しかし、多くの人がそれを行うのに最善の方法ではないと私に言いました。私は本当にロギングモジュールの使い方を学ぶ必要があります。簡単に読んだ後、それは私が望む可能性のあるすべてを実行し、次にいくつかを実行するように見えます。それ自体が学習プロジェクトのように見えます。今は他のプロジェクトに取り組み、最小限の機能を使用して支援したいと思っています。それが何か違いを生むなら、私はpython 2.6を使用しており、ライブラリとレガシーの互換性のために、近い将来になります。
現時点でやりたいのは、特定の領域をデバッグするために、セクションごとにオンとオフを切り替えることができるメッセージをコードに追加することだけです。'hello_log_world'として、これを試しましたが、期待したとおりに動作しません
import logging
# logging.basicConfig(level=logging.DEBUG)
logging.error('first error')
logging.debug('first debug')
logging.basicConfig(level=logging.DEBUG)
logging.error('second error')
logging.debug('second debug')
物事を単純にするために、できるだけ多くのデフォルトを使用して、本当に基本的な構成を使用していることに気付くでしょう。しかし、それは単純すぎるか、ロギングの背後にあるプログラミングモデルを理解していないようです。
sys.stderrが最終的には
ERROR:root:first error
ERROR:root:second error
DEBUG:root:second debug
...ただし、2つのエラーメッセージのみが表示されます。level = DEBUGを設定しても、2番目のものは表示されません。プログラムの開始時にbasicConfig呼び出しのコメントを解除すると、4つすべてが出力されます。
単純すぎるレベルで実行しようとしていますか?
期待される動作を得るために、そこに書いたものに追加できる最も簡単なことは何ですか?