\

Pythonのloggerloggingは、プログラムの実行ログを記録し、出力するためのモジュールです。これらのモジュールは、プログラムの動作を追跡し、問題を診断するための重要なツールです。

loggerとloggingの基本

loggerの役割は、モジュールからログメッセージを受け取り、指定された出力先(標準出力やログファイル)に、そのログメッセージを送ることです。一方、loggingは、loggerとメッセージの送り先を結びつけます。

通常、各モジュール内にloggerのインスタンスがあり、モジュール内では、そのインスタンスに対してログメッセージを送っています。

import logging

logger = logging.getLogger(__name__)

def func():
    logger.info("情報")
    logger.error("エラー")

上記のサンプルでは、__name__つまり、モジュール名が識別子になります。loggingは、この識別子を通じて、ログメッセージの出力先を設定します。

ログレベル

loggingにはログレベルが設定でき、setLevelによりどのログレベルまで表示を行うかを制御することが可能です。ログレベルには、DEBUG, INFO, WARNING, ERROR, CRITICALの5つがあり、ユーザーが任意に指定する必要があります。

from logging import getLogger, INFO

logger = getLogger(__name__)
logger.setLevel(INFO)  # この場合、INFO以上のログが出力。つまり、DEBUG以外は出力される.

フォーマット

loggingにはフォーマットも追加でき、setFormatterによりログに日付や関数、ログレベルの情報など様々な詳細情報を出力できるようになります。

from logging import getLogger, Formatter

logger = getLogger(__name__)
format = Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger.setFormatter(format)  # loggerにフォーマットを適用

以上がPythonのloggerloggingの基本的な使い方と違いについての説明です。これらを理解し、適切に使用することで、プログラムの動作をより詳細に追跡し、問題を効率的に診断することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です