Tips
今日の開発Tips(2025-07-02)
今日の開発Tipsは、ロギングの効率化です。適切なログレベルとログメッセージの記述によって、デバッグやモニタリングを効率的に行いましょう。詳細なログはデバッグ時に役立ちますが、運用時にはパフォーマンスに影響を与えます。ログレベルを使い分けることで、必要な情報のみを記録し、システムへの負荷を軽減できます。
ロギングの効率化
Pythonのloggingモジュールを活用し、ログレベルを適切に設定することで、デバッグと運用時のログ出力のバランスを取りましょう。 DEBUG, INFO, WARNING, ERROR, CRITICALといったログレベルを使い分け、状況に応じて出力内容を調整します。
import logging
# ロガーの設定
logging.basicConfig(level=logging.INFO, # INFOレベル以上のログを出力
format='%(asctime)s - %(levelname)s - %(message)s')
# ログ出力
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.')
# 必要に応じてハンドラを追加して、ログファイルへの出力なども行えます。
# 例:
# file_handler = logging.FileHandler('my_app.log')
# logger.addHandler(file_handler)
運用時はINFOレベル以上に設定し、問題発生時のみ詳細なDEBUGログを確認することで、パフォーマンスへの影響を最小限に抑えられます。 また、ログメッセージには、状況を明確に示す情報を含めるようにしましょう。(例: エラーコード、タイムスタンプ、影響を受けたデータなど)。 ログメッセージは簡潔で、読みやすくすることを心がけてください。