書籍『自走プログラマー』関連ツイートを集めてみました
- shimizukawa
- 4504
- 11
- 1
- 0
ソフトウェアデザインのエラー処理デザインパターン面白かった。Sentry知らなかった。ログレベルの使い分けの指針。専用例外クラス作成指針。良かった。
2020-07-18 21:51:38ログに含める内容は5W1Hというのはよくわかるけど、フォーマットの指針が知りたかったなぁ。パラメータは先に書こうとか、後ろに書こうとか。複数パラメータ出力するときは、カンマで区切ろうとか。user=1234なのかuser = 1234なのか。コロンの使い方とか。
2020-07-18 21:55:26個別の名前でロガーを作らないっていうのが、ちょっと難しいんだけど。どっか一カ所でロガー設定をする際に、ロガー名をモジュール名で作っておけば、各モジュールでロガーを取得して使用する際にモジュールパス__name__を使って取得できるから、いちいちモジュール名書いたりしなくてもよく
2020-07-18 22:03:46あー、なるほど。logging.getLogger(__name__)で、ロガー取得するんだけど。logging.config.dictConfigで、ロガーの設定をしておかないといけないと。で、そのロガーが使われたときにどういうアクション起こすか(どこに
2020-07-18 22:11:35どこに書き込むか)っていうのは、ロガーの設定で行うのかわからないけどハンドラ用意してあげる必要があると。ただ、ロガーの名前にドットが書かれていると、ハンドラが用意されていない場合、より上位(ドットの左側)のロガーに伝播していって、ハンドラが見つかったロガーによって処理される。
2020-07-18 22:14:01だからより上位のロガーに適切なハンドラを用意しておけば、__name__のロガーそれぞれにハンドラ用意しなくてもいいよ。みたいなことかな。ほー。
2020-07-18 22:15:01フォーマットについては、別途考えないといけないんだけど。パラメータを出力するのは、この辺つかうのかなー。 docs.python.org/ja/3/howto/log…
2020-07-18 22:21:54む。自走プログラマー、おもしろいな。> 更新可能(mutable)な値はデフォルト引数に指定してはいけません。 リスト、辞書、集合をデフォルト引数にしてはいけないと覚えておきましょう。 デフォルト引数に None を設定しておいて、関数内で None の場合に空のリストや辞書を指定しましょう。
2020-07-18 22:29:38