シンプルなログ出力はお馴染みのprint文
print("I am the simplest log.")
ファイル出力、メール送信、HTTP通信など動作ログをよりフレキシブルに出力したい場合にはloggingモジュールを使用してログを出力する。
### ログレベル
DEBUG, INFO, WARNING, ERROR, CRITICAL
出力
import logging logging.info("info log") logging.warning("warning log")
$ python3 test.py
WARNING:root:warning log
info はコマンドラインに出力されない
loggerオブジェクトを取得してログを出力する
import logging logger = logging.getLogger("sample") logger.info("info log") logger.warning("warning log")
$ python3 test.py
warning log
import logging logger = logging.getLogger("sample") logger.setLevel(logging.DEBUG) logger.info("info log") logger.warning("warning log")
### ハンドラ
StreamHandler, FileHandler, SMTPHandler, HTTPHandlerがある
import logging logger = logging.getLogger("sample") logger.setLevel(logging.DEBUG) st_handler = logging.StreamHandler() logger.addHandler(st_handler) logger.info("info log") logger.warning("warning log")
handlerで指定することでログ出力をカスタマイズできる。