Pythonのロギングシステムは、開発者がコード内で特定のイベントが発生したことを示すためにロギング呼び出しを追加することで、ソフトウェアが実行されるときに発生するイベントを追跡する手段を提供します。
ロギングには、debug()
, info()
, warning()
, error()
そして critical()
という便利な関数が用意されています。これらの関数は、それぞれが追跡するイベントのレベルまたは重要度に基づいて名付けられています。
ロギングレベルには、DEBUG
, INFO
, WARNING
, ERROR
, CRITICAL
の5つがあり、ユーザーが任意に指定する必要があります。これらはloggerや各ハンドラーにも個別に設定することが出来ます。
from logging import getLogger, INFO
logger = getLogger(__name__)
logger.setLevel(INFO) # この場合、INFO以上のログが出力。つまり、DEBUG以外は出力される
logger.debug('debug log') # 今回の場合、これは表示されない
logger.info('info log')
logger.warning('warning log')
logger.error('error log')
logger.critical('critical log')
上記のコードでは、logger.setLevel(INFO)
により、INFO
以上のログが出力され、DEBUG
は出力されません。
また、ロギングにはフォーマットも追加でき、setFormatter
によりログに日付や関数、ログレベルの情報など様々な詳細情報を出力できるようになります。
from logging import getLogger, Formatter
logger = getLogger(__name__)
format = Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger.setFormatter(format) # loggerにフォーマットを適用
logger.info('this is format')
この記事では、Pythonのロギングシステムとデバッグレベルについて詳しく説明しました。これらの知識を活用して、より効果的なデバッグを行いましょう。.