ログを追加する必要がある Python コードがいくつかあります。
私は常に、ロギング用に "DEBUG()"、"ERROR()" などの大きな C マクロのように見えるステートメントを好んでいました。トレースポイントが実際のコードと視覚的に区別できると、コードが読みやすくなります (オブジェクトはありません)。
また、モジュールごとのレベルでログ レベルを設定できるようにしたいと考えています。
これを実行できる「ログ」というモジュールを作成するにはどうすればよいですか (Python std ライブラリのログ モジュールを使用しながら)。
例えば:
ファイル: main.py
# This imports LOG_MODULE_NAME, DEBUG, WARN, etc
from log import *
import my_module
LOG_MODULE_NAME("main")
log.set_level("main", log.LVL_DEBUG)
log.set_level("my_module", log.LVL_WARN)
if __name__ == "__main__":
foo = my_module.myFunc(2)
DEBUG("Exiting main.py")
ファイル: my_module.py
from log import *
LOG_MODULE_NAME("my_module")
def myFunc(x):
DEBUG("Entering function")
if x != 1:
WARN("I thought it would be 1")
DEBUG("Exiting function")
return x+1
出力は次のようになると思います。
[WARN:my_module - my_module.py:9] I thought it would be 1
[DEBUG:main - main.py:11] Exiting main.py