Pythonのロギングライブラリは、標準ライブラリであり、ログを出力するための様々な機能を具備しています。この記事では、Pythonのロギングライブラリの基本的な使い方と仕様について、サンプルコードとともに解説します。
PythonのloggerにおけるLEVEL
Pythonのloggerでは以下の log.LEVEL
を設定することができます。
- CRITICAL
- ERROR
- WARNING
- INFO
- DEBUG
これらのレベルを設定することで、ログを出し分けることができます。以下に、各レベルの設定方法を示します。
import logging
logging.critical('critical')
logging.error('error')
logging.warning('warning')
logging.info('info')
logging.debug('debug')
デフォルトではINFO以下は出力されません。
PythonのloggerのLEVELを変更する
PythonのloggerのLEVELは basicConfig
を使うことで変更することができます。
import logging
# LEVEL を DEBUG に変更
logging.basicConfig(level=logging.DEBUG)
logging.critical('critical')
logging.error('error')
logging.warning('warning')
logging.info('info')
logging.debug('debug')
このように、その時々に応じて、LEVEL設定を変えることでユースケースに応じたlog出力を可能にします。
Pythonのloggerのフォーマット
Pythonのloggerでは、log出力のフォーマットを自由に設定することができます。
import logging
logging.warning('log msg is {}'.format('hoge fuga'))
logging.warning('log msg %s %s' % ('was', 'hoge fuga'))
基本的には、PythonのString型を扱う形式で、format
関数や%
による変数代入を使って書くことができます。
Pythonのloggerのフォーマッターを定義する
Pythonのloggerでは、フォーマッターとして定義して、それをbasicConfig
に渡すことができます。
import logging
# フォーマットを定義
formatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
# ログレベル、フォーマット定義を logging.basicConfig に渡す
logging.basicConfig(level=logging.DEBUG, format=formatter)
logging.info('log msg sample')
これにより、各所で仕込んだ log出力のメッセージを一律のフォーマットにすることができます。
以上がPythonのロギングライブラリの基本的な使い方と仕様についての解説です。この知識を活用して、より効率的なコードを書くことができるようになりましょう。.