slogopts is a package that provides new functions to build slog.Handler or *slog.Logger with options.
slogopts.New(os.Stdout)slogopts.New(os.Stdout, slogopts.JSON())slogopts.New(os.Stdout, slogopts.Text())slogopts.New(os.Stdout, slogopts.Level(slog.LevelDebug))replTime := func(groups []string, a slog.Attr) slog.Attr {
if a.Key == slog.TimeKey {
return slog.Attr{Key: "t", Value: a.Value}
}
return a
}
slogopts.New(os.Stdout, slogopts.ReplaceAttr(replTime))slogopts.New(os.Stdout, slogopts.AddSource(true))slogopts.New(os.Stdout, slogopts.JSON(), slogopts.Level(slog.LevelDebug), slogopts.AddSource(true))You can create a handler by using slogopts.NewHandler instead of slogopts.New. The usage is the same as slogopts.New.
slogopts.NewHandler(os.Stdout)slogopts.NewHandler(os.Stdout, slogopts.JSON())