Pythonで簡単にロギングを行うには
提供: tknotebook
メインページ>コンピュータの部屋#Python>Python Tips
Python は最近山ほど書籍が出ていますが、プログラミングでは必須な ロギング に関する情報がなさすぎなので 簡単なまとめを書いてみることにしました。
最も簡単なやり方
とりあえず ・出力先はコンソールだけ ・適宜出力形式とレベルを変更できるだけでよい
の2条件を満たすだけなら恐ろしく簡単です。
まずメインモジュールの冒頭に以下の import 文を加えます。
import logging
そしてメインモジュールのモジュールレベルの先頭に
logging.basicConfig( level=logging.DEBUG, format='%(asctime)s %(levelname)-8s %(module)-18s %(funcName)-10s %(lineno)4s: %(message)s' )
お置きます。これでお膳立てはおしまいです。
ログを出力するところには以下のように書きます。
logger.debug("デバッグ") logger.info("情報")
出力はコンソールに
2018-01-01 18:09:39,992 DEBUG main_module <module> 10: デバッグ 2018-01-01 18:09:39,992 INFO main_module <module> 11: 情報
と出力されます。
既にお察しとは思いますが、ログの第一コラムは日付、第2コラムは時刻、第3コラムはログレベル、第4コラムはモジュール名です。
第5コラムは関数名かメソッド名が表示されますが、モジュールレベルでログ出力を呼んだ場合 <module> と出力されます。 第6コラムはモジュール内の行番号、最後がログメッセージです。
メインモジュール以外でロギングを使うときは、先頭に import logging を書き、logger.debug 等でログ出力を書けばOKです。
これだけです。簡単ですよね。