{category}

Python - ロギング

logging

ロギング(標準ライブラリ

意味 プログラムの動作記録


loggingとは?

loggingは、プログラムの実行中に起こったイベントやエラーなどの情報を記録するためのモジュールです。 プログラムの動作状況を把握したり、問題発生時の原因究明に役立ちます。

loggingの具体的な使い方

基本的なログ出力

import logging

# ログの基本設定
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

# 各レベルのログを出力
logging.debug('デバッグ情報です')
logging.info('情報メッセージです')
logging.warning('警告メッセージです')
logging.error('エラーが発生しました')
logging.critical('致命的なエラーです')

👇出力結果

2023-05-10 12:34:56,789 - DEBUG - デバッグ情報です
2023-05-10 12:34:56,790 - INFO - 情報メッセージです
2023-05-10 12:34:56,791 - WARNING - 警告メッセージです
2023-05-10 12:34:56,792 - ERROR - エラーが発生しました
2023-05-10 12:34:56,793 - CRITICAL - 致命的なエラーです

このコードは、loggingモジュールを使用して異なるレベルのログを出力する方法を示しています。まず、basicConfig()でログの基本設定を行い、ログレベルとフォーマットを指定します。その後、debug()、info()、warning()、error()、critical()メソッドを使用して、それぞれのレベルのログメッセージを出力します。

ファイルへのログ出力

import logging

# ファイルへのログ出力設定
logging.basicConfig(filename='app.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# アプリケーションのログを記録
logging.info('アプリケーションが起動しました')
try:
    result = 10 / 0
except ZeroDivisionError:
    logging.error('ゼロ除算エラーが発生しました', exc_info=True)
logging.info('アプリケーションが終了しました')

print('ログはapp.logファイルに出力されました')

👇出力結果

ログはapp.logファイルに出力されました

このコードは、ログをファイルに出力する方法を示しています。basicConfig()でfilenameパラメータを指定することで、ログメッセージをファイルに書き込みます。また、例外が発生した場合にexc_info=Trueを指定することで、エラーのトレースバック情報もログに記録します。

loggingに関するよくある質問

Q. loggingの基本的な使い方は?
A. loggingモジュールをインポートし、logging.basicConfig()でログレベルを設定します。その後、logging.debug()、logging.info()などの関数を使ってログを出力します。
Q. ログレベルの種類は?
A. 主なログレベルは、DEBUG、INFO、WARNING、ERROR、CRITICALの5つです。重要度が低い順に並んでおり、設定したレベル以上のログが出力されます。
Q. ログをファイルに出力するには?
A. logging.basicConfig(filename='example.log', level=logging.DEBUG)のように、filenameパラメータを指定することで、ログをファイルに出力できます。

loggingが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのloggingやjson、time、threading.Event、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

json

データ交換フォーマット

種類: データ交換

time

時間管理

種類: 日付と時間

threading.Event

スレッド間同期

種類: マルチスレッド

as

別名をつける

種類: モジュールのインポート

try

エラー発生に備える

種類: 例外処理