Pythonのロギング(logging)入門:ログ出力の基本と5つのログレベル
ソフトウェアを開発して実行すると、正常な動作を妨げるエラーや例外が発生することがあります。ロギング(ログ記録)は、ソフトウェアの実行中に起こる出来事を追跡し、記録として残すための仕組みです。特に開発段階でのデバッグやテスト実行において、ロギングは非常に重要な役割を果たします。
もしロギングの仕組みがなくプログラムがクラッシュした場合、問題の原因を特定するのは非常に困難になります。小規模なプログラムであれば手作業でも原因を突き止められるかもしれませんが、実際の業務で扱うような複雑なプログラムでは、問題を手動で発見するのはほぼ不可能であり、仮にできたとしても多大な時間を要します。
Pythonには標準でloggingモジュールが用意されており、この問題を簡単に解決できます。ロギングは非常に強力なツールであり、プログラムの処理フローをより深く理解するのに役立つだけでなく、開発時には想定していなかった問題や状況を知らせてくれることもあります。
loggingモジュールとは
Pythonにはloggingモジュールが最初から組み込まれているため、プログラムにインポートするだけですぐに使えます。
import logging
loggingモジュールを使うと、ステータスメッセージをファイルやその他の出力ストリームに書き込めます。ログファイルには、コードのどの部分が実行されたか、どのような問題が発生したかといった情報も含めることができます。
loggingモジュールでは「logger(ロガー)」を使って、確認したいメッセージを記録します。デフォルトでは、イベントの重要度(深刻度)を表す5つのログレベルが用意されています。
5つのログレベル(重要度の低い順)
DEBUG ─ 詳細な情報を出力するために使用します。主に問題の診断時に活用されます。
INFO ─ 処理が期待どおりに正しく動作していることを確認するために使用します。
WARNING ─ 名前のとおり警告用です。将来的に問題につながる可能性のある事象を通知します。
ERROR ─ アプリケーションやソフトウェアが何らかの機能を実行できなかったことを示すエラーメッセージに使用します。
CRITICAL ─ プログラムが動作を停止する可能性があるなど、重大な問題が発生したことを通知します。
loggingモジュールはデフォルトのロガーを提供しているため、細かい設定を行わなくてもすぐにロギングを始められます。
使用例
以下は、5つのログレベルすべてのメッセージを出力するシンプルな例です。
import logging
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')実行結果
WARNING:root:This is a warning message ERROR:root:This is an error message CRITICAL:root:This is a critical message
注意: 実行結果を見ると、info()とdebug()のメッセージが出力されていません。これは、デフォルトのロガーが「WARNING以上の重要度」のメッセージのみを表示するように設定されているためです。DEBUGやINFOレベルのメッセージも表示したい場合は、logging.basicConfig(level=logging.DEBUG)のように、ロガーのレベルを手動で設定する必要があります。
-
Pythonで単利(シンプルインタレスト)を計算する方法をわかりやすく解説
本記事では、Python 3.xを使って単利(シンプルインタレスト)を計算する方法について詳しく解説します。金融計算の基礎となる単利の概念から、実際のコード実装まで、初心者の方にもわかりやすいように順を追って説明していきます。 単利とは? 単利とは、元本に対してのみ利息が発生する計算方式です。複利と異なり、発生した利息が次期の元本に加算されないため、計算式がシンプルなのが特徴です。 単利は「1日あたりの利率 × 元本 × 支払いまでの経過日数」を掛け合わせることで求められます。 単利の計算式 数学的には、以下の公式で表されます。 単利(SI)=(P × T × R)÷ 100 各変数の意味は次
-
Pythonで学ぶ選択ソートの基本原理と実装方法をわかりやすく解説
本記事では、選択ソート(Selection Sort)の基本的な仕組みと、Python 3.xでの実装方法について詳しく解説します。 選択ソートとは? 選択ソートは、ソートされていない部分から最小値の要素を繰り返し見つけ出し、それを先頭に移動させることで配列全体を整列していくアルゴリズムです。処理の過程では、与えられた配列が次の2つの部分配列に分けられます。 すでにソートが完了している部分配列 まだソートされていない部分配列 選択ソートの各イテレーション(反復処理)では、未ソート部分から最小要素を取り出し、ソート済み部分の末尾に挿入していきます。この操作を繰り返すことで、最終的に配列全体