nikkie
皆さんは標準ライブラリのloggingモジュールを使っていますか? 私は使っていますが、loggingモジュールは理解するのが難しかったですね。
どうやらこのモジュール、私にとってだけじゃなくPythonコミュニティにとっても難しそうなんですよね。 というのもChatGPT登場後に話題になったライブラリをいくつか触ったのですが、どれもロギングの実装が伸びしろ豊富でした。 実務で使うならロギングをしてアプリケーションの動きを手に取るように分かりたい、でもライブラリのロギングがオレオレすぎてライブラリユーザ側でハックが必要... いやーリアルワールドのロギングは大変苦労させられますね
こういった経験からPythonのロギングについては要点を押さえて伝えられるようになったと自負しているので、私のような苦労をする人が少しでも減るように、Pythonのロギングの基本の型を共有します。 ロギングは非機能な分、機能の実装に比べてかけられる時間も少なくなりがちだと思っています。 この発表と資料が、loggingモジュールに込められた組合せたロギングの1つの型を提供できたら嬉しいです(もちろん理解したうえで採用しないのもOKです)
loggingモジュールにはいろいろな要素が含まれます。 ロガー、ハンドラ、フォーマッタ、フィルタ。 これらを組合せたロギングの型を1つ示します。
(はじめにとまとめで3分)
loggingモジュールの構成要素(4分)
ロガーのレベルはどう決まる? ー NOTSET(5分)
getLogger()
したとき、そのレベルは?ルートロガーでロギングしよう(8分)
伸びしろのあるロガーと、対処術(6分)
※メッセージとしては「こんなハックをする必要がないように、ロギングを実装してください」
落穂拾い(4分)
プロフィール