Pythonのロギングシステムは、アプリケーションやライブラリのための柔軟なエラーログ記録 (logging) システムを実装するための関数やクラスを提供しています。すべてのPythonモジュールがログ記録に参加できることで、アプリケーションのログにサードパーティーのモジュールが出力するメッセージを含ませることができます。
import logging
logging.warning('Watch out!')
上記はPythonのロギングシステムを使用した最も単純な例です。このモジュールは、多くの機能性と柔軟性を提供します。
ロギングの重要なポイントとして、ルートのloggingを汚さないように、getLogger
でloggerオブジェクトを作り、ロギングを行うことが望ましいとされています。また、コード中で誤ってloggingを汚さないように、以下のようにimportを工夫すると良いとされています。
# 良い例
from logging import getLogger
logger = getLogger(__name__)
logger.debug('this is good logging')
ロギングにはログレベルが設定でき、setLevel
によりどのログレベルまで表示を行うかを制御することが可能です。ログレベルには、DEBUG, INFO, WARNING, ERROR, CRITICALの5つがあり、ユーザーが任意に指定する必要があります。
from logging import getLogger, INFO
logger = getLogger(__name__)
logger.setLevel(INFO)
以上のように、Pythonのロギングシステムは非常に柔軟で、多くの機能を提供しています。これらの機能を活用することで、より効率的なデバッグやエラー解析が可能となります。.