ロギング(logging)サンプル – Python

ロギングのサンプル(logging)

デバッグや運用時のエラー等の運用で必要になるので調べました。

コンフィグでファイル出力やメール送信等もできるとのこと。
logging.basicConfig(filename=’apl.log’,level=logging.DEBUG)

import logging

# sampleloggerという名前のロガーを作成
outlog = logging.getLogger("samplelogger")

logsh = logging.StreamHandler()

#ログのローマットを設定
lformat = logging.Formatter('%(asctime)s [%(levelname)s] %(name)s %(message)s')
logsh.setFormatter(lformat)
outlog.addHandler(logsh)

# print("LogLevel(Default) = " , outlog.getEffectiveLevel()) 
# デフォルトのログレベルはWARNING(30)でした。
outlog.setLevel(logging.DEBUG) #ログレベルを10に設定

print("LogLevel(Set) = " , outlog.getEffectiveLevel() )

outlog.info("testlog info")
outlog.warning("testlog warning")
outlog.critical("testlog critical")
outlog.error("testlog error")
outlog.log(logging.ERROR,"testlog loglevel 30")

【出力結果】
LogLevel(Set) = 10
2016-12-07 03:08:07,363 [INFO] samplelogger test info
2016-12-07 03:08:07,363 [WARNING] samplelogger test warning
2016-12-07 03:08:07,363 [CRITICAL] samplelogger test critical
2016-12-07 03:08:07,364 [ERROR] samplelogger test error
2016-12-07 03:08:07,364 [ERROR] samplelogger test loglevel 30

※設定されているログレベルより低いレベルのログは、出力されません。

ログレベル数値定数
NOTSET0logging.NOTSET
DEBUG10logging.DEBUG
INFO20logging.INFO
WARNING30logging.WARNING
ERROR40logging.ERROR
CRITICAL50logging.CRITICAL
Continue Reading