概要
Python の loggingに関して
参考サイト
Logging HOWTO https://docs.python.org/ja/3/howto/logging.html
設定ファイル
- 基本的には設定ファイルに設定を記載して利用する
- pyproject.toml に記載するのが推奨
- 別ファイルに記載する場合も toml ファイルにしておくと良い
方針
- propagate はデフォルトのままにする(何も設定しない)
ログレベル
ログレベルは、どれをどの程度に利用するかの方針を以下にしている。プロジェクトの方針や開発物によって多少違う場合がある。
- DEBUG: 詳細情報、デバッグ用情報。通常時は出力しないような情報に利用。printデバッグのような目的で利用する
- INFO: 想定情報。通常のログに出力する。イベントの開始終了等、ログを検索したりする時に必要な情報に利用
- WARNING: 想定外情報。停止はしないが、注意を要する事項に関して利用
- ERROR: 重大問題。一部機能が停止するような事項に関して利用
- CRITICAL: 機能の完全停止や、重大障害を示す。かなりの事態の時に利用するようにして、あまり軽く利用しない方が良い
Handler ハンドラ
https://docs.python.org/ja/3/howto/logging.html#useful-handlers
自分が良く利用するハンドラ
StreamHandler: ターミナル等に出力
FileHandler: ファイル等に出力
TimedRotatingFileHandler: ファイル出力の上、特定時間でローテート
HTTPHandler: HTTP GET/POST送信
QueueHandler: キューモジュール等に送信