\

Pythonのloggingモジュールは、アプリケーションやライブラリのための柔軟なエラーログ記録 (logging) システムを実装するための関数やクラスを提供します。この記事では、特にlevelnameという属性に焦点を当て、その活用方法を解説します。

ログレベルとは

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

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

レベル名(levelname)の活用

levelnameはログのレベルを表します(e.g. DEBUG, INFO, ERROR,…)。ログメッセージのフォーマットにlevelnameを含めることで、各ログメッセージがどのレベルで出力されたのかを簡単に確認することができます。

from logging import getLogger, Formatter, StreamHandler, INFO
logger = getLogger(__name__)
logger.setLevel(INFO)

# StreamHandlerの設定
ch = StreamHandler()
ch.setLevel(INFO)
ch_formatter = Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(ch_formatter)

logger.addHandler(ch)  # StreamHandlerの追加
logger.info('this is format')

このコードを実行すると、以下のような出力が得られます。

2021-01-13 16:40:23 - __main__ - INFO - this is format

このように、levelnameを活用することで、ログメッセージがどのレベルで出力されたのかを一目で確認することができます。これは、ログを解析する際に非常に便利です。

以上、Pythonのloggingモジュールにおけるlevelnameの活用方法について解説しました。この知識を活用して、より効率的なログ管理を行いましょう。.

投稿者 admin

コメントを残す

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