ロギング(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

You may also like

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.