slogの最上位関数は2つのモードを持つ
log/slog パッケージは最上位に InfoContext などの関数を持っている。これらは SetLogger を呼び出したかどうかでモードが切り替わる。
log.Logger を使うモード。
このとき、SetLogLoggerLevel で設定したレベルは「最小レベル」を意味する。より小さいレベルのログは出力しない。デフォルトのレベルはInfoなので slog.Debug は無視される。
呼び出した後
Section titled “呼び出した後”slog.DefaultHandler を使うモード。全てのログ出力はハンドラに渡される。
このとき、SetLogLoggerLevel は「log.Printf のレベル」を意味するので出力時のログレベルが変わる。
どちらのモードでも、動作としては
- log.Printf のレベルを設定する
- slog.Logger が出力する最小レベルを設定する