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

Python

📚 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をコピヌしたした