🟩Pythonログレベル自動判定の作り方|if文でログレベルを切り替える方法【初心者向け】

Code

📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/

はじめに

これまでの学習では

  • 計算結果を dict にまとめる
  • ログ出力を 関数にして再利用する

といった形で
ログを整理して表示する仕組みを作ってきました。

今回は一歩進めて、

ログレベル(OK / WARN / ERROR)を数値から自動判定する方法

を学習します。

人が判断していた部分を
コードに任せる仕組みを作るのが今回の目的です。

今回のゴール

今回の学習目標は次の4つです。

  • 平均値(avg)を条件で判定する
  • 条件に応じてログレベルを決める
  • stats['level'] を自動で更新する
  • 既存のログ出力関数と組み合わせる

つまり

「判断をコードに任せる」感覚を身につけること

が今回のテーマです。


使用するデータ

今回もこれまで使ってきた stats を利用します。

stats = {
'count': 20,
'sum': 980,
'avg': 49,
'level': 'WARN'
}

最初は仮の level を入れていますが、
最終的には avg の値から自動で決定します。


ログレベル判定ルール

今回は次のルールで判定します。

avgログレベル
70以上OK
50以上WARN
50未満ERROR

このルールを
if / elif / else で表現します。


Pythonでログレベルを自動判定するコード

if stats['avg'] >= 70:
stats['level'] = 'OK'
elif stats['avg'] >= 50:
stats['level'] = 'WARN'
else:
stats['level'] = 'ERROR'

ポイント

  • stats['avg'] を条件に使う
  • 条件に合った level を代入する
  • 人ではなく コードが判断する

ログ出力関数と組み合わせる

前回作成したログ出力関数と組み合わせます。

def log_stats(stats):

message = f"[{stats['level']}]"

for key, value in stats.items():

if key != 'level':
message += f" {key}={value}"

print(message)

判定後にログ出力する

log_stats(stats)

出力例

[WARN] count=20 sum=980 avg=49

avg の値に応じて
ログレベルが自動で切り替わることが分かります。


なぜログレベルを自動判定するのか

この仕組みを作るメリットは次の通りです。

  • 毎回レベルを手動で決める必要がない
  • 判断基準をコードに残せる
  • 同じルールを何度でも使える

つまり

人が判断 → コードが判断

に変わることで
再利用できる仕組みになります。


今回の学び

今回学んだポイントです。

  • if 文で条件をコードにできる
  • 数値から状態(ログレベル)を決められる
  • dict の値を書き換えて状態管理できる
  • ログ出力がより実務に近づく

次のステップ

次の学習としては

  • 判定処理を 関数化する
  • 複数データを ループ処理する
  • ログ設計を さらに整理する

などに進むと理解が深まります。


まとめ

今回のポイント

  • ログの「形」は 関数で統一
  • ログの「意味」は 条件で自動判定
  • 判断をコードに任せることで 再利用性が高くなる

少しずつですが
実務で使われるログ設計の考え方に近づいてきました。


📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/


コメント

タイトルとURLをコピーしました