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.ERROR
を level
パラメーターに割り当てて、エラーが発生するログの最小レベルを指定しました。ログメッセージを書き込むために、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')
を割り当てます。その後、この新しい handler
を logger.addHandler(handler)
を使用してロガーオブジェクトに追加しました。最後に、logger.error('Our First Log Message')
を使用してエラーメッセージをファイルに書き込みました。
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