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に関するよくある質問
loggingが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのloggingやjson、time、threading.Event、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
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」カテゴリーが追加されましました!