package log import ( "log" "log/slog" "net/http" "os" sloghttp "github.com/samber/slog-http" "github.com/xlgmokha/x/pkg/env" ) var Logger *slog.Logger var Default *log.Logger var Handler slog.Handler func init() { Handler = slog.NewJSONHandler(os.Stdout, nil) Logger = slog.New(Handler).With("env", env.Fetch("APP_ENV", "development")) Default = slog.NewLogLogger(Handler, slog.LevelInfo) } type Fields map[string]interface{} func WithFields(r *http.Request, fields Fields) { for key, value := range fields { sloghttp.AddCustomAttributes(r, slog.Any(key, value)) } }