Pythonでプログラムの動作を記録するためのloggingモジュールは、初心者にとっても重要なツールです。
loggingを適切に使用することで、デバッグやエラー管理が効率的になります。
今回は、このloggingモジュールの基本的な使い方について、ステップバイステップで解説していきます。
- 未経験者向けプログラミングスクール
- 現役エンジニアがしっかりサポート
- 卒業後も安心の転職・副業サポート
loggingモジュールとは?その基本的な使い方を解説

loggingモジュールは、Python標準ライブラリに含まれている強力なツールです。
これを使用することで、プログラムの実行中に発生する情報を記録し、後から確認することができます。
loggingは、通常のprint文よりも詳細で柔軟な出力が可能であり、特にエラーハンドリングやパフォーマンスモニタリングに役立ちます。
基本的なloggingの使い方
まず、基本的なloggingの使い方から始めましょう。
以下のコードを見てください。
import logging
logging.basicConfig(level=logging.INFO)
logging.info("これは情報メッセージです")
このコードでは、loggingモジュールをインポートし、INFOレベルのメッセージを出力しています。
ログレベルの設定
loggingモジュールには、複数のログレベルがあります。
デバッグやエラーに応じて、異なるレベルのログを出力できます。
主なログレベルは次の通りです。
- DEBUG: 詳細な情報
- INFO: 一般的な情報
- WARNING: 警告
- ERROR: エラー
- CRITICAL: 重大なエラー
ログファイルへの出力
ログをコンソールだけでなく、ファイルに出力することもできます。
以下の例では、ログをファイルに記録する方法を示します。
logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info("これはファイルに記録される情報です")
このコードでは、app.logというファイルにログを出力しています。
- 現役エンジニアからスキルを学べる
- 満足度は驚異の97.4%
- 300社以上のIT企業で研修に導入
- 毎日9時〜21時まで、無料カウンセリングを開催中!
loggingの応用例:エラーハンドリングとデバッグ

loggingは、エラーや例外の処理において特に強力です。
プログラムの実行中に発生する問題をリアルタイムで記録し、後から分析することで、問題の特定がしやすくなります。
try-exceptとloggingの組み合わせ
例外処理を行う際に、try-except構文とloggingを組み合わせることで、エラーをキャッチしてログに記録することができます。
以下の例を見てください。
try:
1 / 0
except ZeroDivisionError:
logging.error("ゼロでの除算が発生しました")
このコードでは、ゼロ除算エラーが発生した場合に、エラーログが記録されます。
デバッグ時に役立つDEBUGレベル
デバッグ時には、DEBUGレベルのログが役立ちます。
詳細な情報を出力して、コードの実行状況を細かく確認することができます。
logging.basicConfig(level=logging.DEBUG)
logging.debug("デバッグ用のメッセージです")
このコードでは、DEBUGレベルのメッセージがコンソールに出力されます。
特定のモジュールのみのログを制御
loggingモジュールを使用すると、特定のモジュールやパッケージに対してログ出力を制御することも可能です。
これにより、特定の部分だけの詳細ログを出力してデバッグを行うことができます。
logger = logging.getLogger('my_module')
logger.setLevel(logging.WARNING)
logger.warning("これはモジュール内の警告メッセージです")
このコードでは、my_moduleというモジュールに対して、WARNINGレベルのログを記録しています。
loggingを使ったプログラムの監視とパフォーマンス向上

loggingは、プログラムのパフォーマンスモニタリングにも使用できます。
特に長時間実行されるプログラムや、複数の処理が同時に行われるプログラムでは、適切なログを記録して監視することで、パフォーマンスのボトルネックを特定することが可能です。
ログのローテーション
大量のログが記録される場合、ログのローテーション機能を使うことで、ファイルサイズの管理が容易になります。
loggingモジュールのRotatingFileHandlerを使用すると、一定のサイズでログファイルを分割することが可能です。
from logging.handlers import RotatingFileHandler
handler = RotatingFileHandler('app.log', maxBytes=2000, backupCount=5)
logging.getLogger().addHandler(handler)
このコードでは、最大2KBのログファイルが5つまで保持され、古いログが上書きされます。
パフォーマンスモニタリングに役立つログの使い方
プログラムの各処理時間を記録することで、パフォーマンスの問題を特定できます。
例えば、特定の関数の処理時間をログに記録して、その効率を確認することができます。
import time
start_time = time.time()
# 処理
time.sleep(2)
end_time = time.time()
logging.info(f"処理時間: {end_time - start_time} 秒")
このコードでは、処理にかかった時間を計測し、ログに記録しています。
プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。
まとめ:Pythonのloggingモジュールを活用してプログラムを最適化しよう

今回は、Pythonのloggingモジュールを使ったプログラムのログ管理と監視方法について解説しました。
loggingを適切に使用することで、デバッグやエラー管理が容易になり、プログラムのパフォーマンスも向上します。
初心者でも簡単に使い始められるので、是非loggingを活用して、より効率的なプログラミングを目指しましょう。



コメント