torinaブログ

DjangoとBootstrap4で作成したブログ
Python, Django, Kivy, Bootstrap, Apache等のメモです
ソースコード

Python、loggingの簡単な使い方

Python Python標準ライブラリ
約271日前 2016年5月25日2:29
import logging
 
logging.warning(`オーニング`)
logging.info(`いんふぉ`)
logging.debug(`でばっぐ`)



結果
WARNING:root:オーニング


デフォルトでは、ログレベルはWARNINGなため
infoとdebugが無視されました。
次のように設定してみます。

import logging
 
logging.basicConfig(level=logging.DEBUG)
logging.warning(`オーニング`)
logging.info(`いんふぉ`)
logging.debug(`でばっぐ`)



結果
WARNING:root:オーニング
INFO:root:いんふぉ
DEBUG:root:でばっぐ


一度basicConfigしてしまえば、他モジュールで設定しなおす必要はないです。
basicConfigには他にもいろいろ設定ができます。

import logging
 
logging.basicConfig(filename=`test.log`,
                    format='%(levelname)s %(asctime)s %(message)s',
                    datefmt='%m/%d/%Y %I:%M:%S %p',
                    level = logging.DEBUG,
                    filemode = `w`)
logging.warning(`オーニング`)
logging.info(`いんふぉ`)
logging.debug(`でばっぐ`)



結果(test.logの内容)
WARNING 12/05/2015 12:13:14 AM オーニング
INFO 12/05/2015 12:13:14 AM いんふぉ
DEBUG 12/05/2015 12:13:14 AM でばっぐ


filename→ファイルの名前
format→ログのフォーマット
datefmt→日付のフォーマット
level→ログレベル。debugで全て表示、infoだとdebugだけ無視、warningだとinfoとdebug無視
filemode→aだと追記していく。open()なんかと同じ

ログレベルの使い分けは公式
http://docs.python.jp/3.4/howto/logging.html
にいいのがあったので抜粋します。


DEBUG
おもに問題を診断するときにのみ関心があるような、詳細な情報。

INFO
想定された通りのことが起こったことの確認。

WARNING
想定外のことが起こった、または問題が近く起こりそうである (例えば、’disk space low’) ことの表示。

ERROR
より重大な問題により、ソフトウェアがある機能を実行できないこと。

CRITICAL
プログラム自体が実行を続けられないことを表す、重大なエラー。