Python でファイルにログを書き込む

Muhammad Maisam Abbas 2023年10月10日
  1. Python の logging モジュールを使用してファイルにログを書き込む
  2. Python の logging.FileHandler() 関数を使用してファイルにログを書き込む
Python でファイルにログを書き込む

このチュートリアルでは、Python でログをファイルに書き込む方法を紹介します。

Python の logging モジュールを使用してファイルにログを書き込む

ログは、プログラムをデバッグし、何が悪かったのかを見つけるために使用されます。logging モジュールは、Python のファイルにデータを記録するために使用されます。logging.basicConfig() 関数を使用して、特定のファイルに書き込まれるようにログを構成できます。デフォルトでは、logging モジュールを使用して 5 種類の行をログに記録できます。これらのメッセージタイプには、デバッグ、情報、警告、エラー、およびクリティカルが含まれます。それでも、コーディングを通じてその数を必要な数まで増やすことができます。次のコード例は、logging.basicConfig() 関数を使用してログをファイルに書き込む方法を示しています。

import logging

# Creating and Configuring Logger

Log_Format = "%(levelname)s %(asctime)s - %(message)s"

logging.basicConfig(
    filename="logfile.log", filemode="w", format=Log_Format, level=logging.ERROR
)

logger = logging.getLogger()

# Testing our Logger

logger.error("Our First Log Message")

logfile.log のファイル内容:

ERROR 2021-06-13 04:14:29,604 - Our First Log Message

上記のコードの logging.basicConfig() 関数を使用して、適切なロギング日時でレベル error のログメッセージ Our First Log Message を作成しました。ログを書き込む際に最も重要なことは、ログが発生した日時です。そのため、最初に Log_Format 文字列内にログのフォーマットを作成しました。この形式には、ログのレベル、発生日時、および書き込まれるメッセージが含まれます。

次に、logging.basicConfig() 関数の filename パラメーターを使用して、ログファイルを指定します。logging.basicConfig() 関数の filemode パラメーターに値 a を割り当てて、ファイルを append モードで開き、新しいログがあるたびに以前のログが削除されないようにしました。次に、format パラメータを Log_Format に設定します。そのステップの後、logging.ERRORlevel パラメーターに割り当てて、エラーが発生するログの最小レベルを指定しました。ログメッセージを書き込むために、logger = logging.getLogger() を使用してロガーオブジェクトを作成しました。最後に、logger.error("Our First Log Message") を使用してエラーメッセージを作成しました。

Python の logging.FileHandler() 関数を使用してファイルにログを書き込む

logging.FileHandler() 関数を使用して、Python でファイルにログを書き込むこともできます。この関数は、ログを書き込むファイルパスを取得します。次に、addHandler() 関数を使用して、このハンドラーをロガーオブジェクトに追加できます。以下のコードは、logging.FileHandler() 関数を使用してログをファイルに書き込む方法を示しています。

import logging

logger = logging.getLogger()
handler = logging.FileHandler("logfile.log")
logger.addHandler(handler)
logger.error("Our First Log Message")

logfile.log の内容:

Our First Log Message

上記のコードの logging.FileHandler() 関数を使用して、ログメッセージ Our First Log Message をファイル logfile.log に書き込みました。最初に、logging.getLogger() 関数を使用してログを書き込むために使用するロガーオブジェクトを作成しました。次に、ファイルハンドラーhandler を作成し、それに logging.FileHandler('logfile.log') を割り当てます。その後、この新しい handlerlogger.addHandler(handler) を使用してロガーオブジェクトに追加しました。最後に、logger.error('Our First Log Message') を使用してエラーメッセージをファイルに書き込みました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Python Logging