Pythonの標準ライブラリであるlogging
モジュールは、アプリケーションの実行中に発生するイベントを記録するための機能を提供します。ログの重要度に応じて、DEBUG
, INFO
, WARNING
, ERROR
, CRITICAL
の5つのログ・レベルが定義されています。
import logging
# ログレベルを設定する
logging.basicConfig(level=logging.WARNING)
# loggerインスタンスを作成する
logger = logging.getLogger('log_test.py')
# ログフォーマットを設定する
formatter = logging.Formatter('%(asctime)s: %(filename)s: %(lineno)d: %(levelname)s: %(message)s')
# ファイルに、ログを出力する場合
file_handler = logging.FileHandler('./logs/test.log', encoding='utf-8')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
上記のコードは、ログの出力設定を行う基本的な手順を示しています。しかし、特定の状況ではログ出力を停止したい場合があります。その場合は、logging.disable(logging.logging_level)
を使用します。このコードを挿入すると、その後のlogging
に対するloggle_level
関数はすべて無効になります。
また、プログラムが終了する際には、logging.shutdown()
を呼び出すことで、すべてのハンドラをフラッシュして閉じ、ログ記録システムを適切にシャットダウンすることができます。この呼び出しの後では、ログ記録システムをさらに使用するべきではありません。
# ログ出力を停止する
logging.disable(logging.CRITICAL)
# ログ記録システムをシャットダウンする
logging.shutdown()
これらの機能を利用することで、Pythonのlogging
モジュールをより効果的に制御することができます。.