Pythonでログ出力を行う際、JSON形式で出力することが求められる場合があります。ここでは、その方法について説明します。
ログ出力の設定
まずは、ログ出力の設定について見ていきましょう。Pythonの標準ライブラリであるlogging
を使用します。
import logging
from pythonjsonlogger import jsonlogger
# ログ出力の設定
h = logging.FileHandler("mod.log", mode="w")
h.setFormatter(jsonlogger.JsonFormatter())
logging.getLogger("mod").addHandler(h)
このコードでは、logging
モジュールのFileHandler
を使用して、ログをファイルに出力します。そして、jsonlogger.JsonFormatter
を使用して、ログをJSON形式で出力します。
ログ出力の実行
次に、ログ出力の実行について見ていきましょう。
logger = logging.getLogger(__name__)
logger.info('Inserting rows into MySQL', extra={'rows': rows})
このコードでは、getLogger
関数を使用して、ロガーを取得します。そして、info
メソッドを使用して、ログを出力します。extra
引数に辞書を渡すと、それもログに出力されます。
以上が、PythonでJSON形式のログ出力を行う方法です。この方法を使用すれば、ログ出力をより柔軟に行うことができます。.