Pythonのlogging
モジュールは、プログラムの実行時や障害が発生した時に何が起こっているのか把握するためのログを出力するためのものです。この記事では、logging
モジュールを使う際に、設定ファイルを用意して制御をする方法について紹介します。
loggingモジュール
Pythonでログ出力する場合には logging
モジュールを使用することができます。logging
モジュールには、以下のようなログレベルがあります:
- CRITICAL
- ERROR
- WARNING
- INFO
- DEBUG
ログレベルを設定すると、指定したログレベルより緊急度が高いレベルのログが出力されます。例えば、ログレベルをINFOにしたとしましょう。その際には、ログとして出力されるのはCRITICAL, ERROR, WARNING, INFOです。DEBUGログは出力されません。
logging設定ファイルの用意
logging
を使用する場合には、「logging.ini」といった形でログ設定ファイルを用意しておくと便利です。設定ファイルの内容は以下のようになります:
# ===== logging settings
[loggers]
keys=root,simpleExample
[handlers]
keys=logFileHandler,streamHandler
[formatters]
keys=logFileFormatter,simpleFormatter
# ===== logger settings
[logger_root]
level=INFO
handlers=logFileHandler
[logger_simpleExample]
level=DEBUG
handlers=streamHandler
qualname=simpleExample
propagate=0
# ===== log handler settings
[handler_logFileHandler]
class=FileHandler
level=INFO
formatter=logFileFormatter
args=('app.log', 'a', 'utf-8')
[handler_streamHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
# ===== log handler settings
[formatter_logFileFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - % (message)s
[formatter_simpleFormatter]
format=%(asctime)s - %(levelname)s - %(message)s
使用方法
使用方法としては以下の手順で行います。まずは、logging
とlogging.config
をインポートします。
import logging
import logging.config
次に、ログ設定ファイル「logging.ini」を読み込みます。
logging.config.fileConfig('logging.ini')
以上で設定が完了し、ログ出力が可能になります。
まとめ
この記事では、Pythonのlogging
モジュールを使う際に、設定ファイルを用意して制御をする方法について紹介しました。設定ファイルを用意することで、ログ出力の設定を柔軟に行うことができます。ぜひ、この記事を参考に、Pythonのlogging
モジュールを活用してみてください。.