ロギングのサンプル(logging)
デバッグや運用時のエラー等の運用で必要になるので調べました。
コンフィグでファイル出力やメール送信等もできるとのこと。
logging.basicConfig(filename=’apl.log’,level=logging.DEBUG)
import logging
outlog = logging.getLogger( "samplelogger" )
logsh = logging.StreamHandler()
lformat = logging.Formatter( '%(asctime)s [%(levelname)s] %(name)s %(message)s' )
logsh.setFormatter(lformat)
outlog.addHandler(logsh)
outlog.setLevel(logging.DEBUG)
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
※設定されているログレベルより低いレベルのログは、出力されません。
ログレベル | 数値 | 定数 |
NOTSET | 0 | logging.NOTSET |
DEBUG | 10 | logging.DEBUG |
INFO | 20 | logging.INFO |
WARNING | 30 | logging.WARNING |
ERROR | 40 | logging.ERROR |
CRITICAL | 50 | logging.CRITICAL |