Skip to content

slogの最上位関数は2つのモードを持つ

log/slog パッケージは最上位に InfoContext などの関数を持っている。これらは SetLogger を呼び出したかどうかでモードが切り替わる。

log.Logger を使うモード。

このとき、SetLogLoggerLevel で設定したレベルは「最小レベル」を意味する。より小さいレベルのログは出力しない。デフォルトのレベルはInfoなので slog.Debug は無視される。

slog.DefaultHandler を使うモード。全てのログ出力はハンドラに渡される。

このとき、SetLogLoggerLevel は「log.Printf のレベル」を意味するので出力時のログレベルが変わる。

どちらのモードでも、動作としては

  • log.Printf のレベルを設定する
  • slog.Logger が出力する最小レベルを設定する