Logging
All transports support a common logger interface.
Logger Interface
type Logger interface {
Debug(msg string, kv ...any)
Info(msg string, kv ...any)
Warn(msg string, kv ...any)
Error(msg string, kv ...any)
Fatal(msg string, kv ...any)
}
Setting the Logger
Via Router Facade
r := router.New()
r.SetLogger(logger.NewSlog(slog.Default()))
Via Transport
t := http.New()
t.Logger = logger.NewSlog(slog.Default())
Available Implementations
Nop Logger (Default)
Silent, no output.
t.Logger = logger.Nop
Slog Logger
import "github.com/mirkobrombin/go-module-router/v2/pkg/logger"
t.Logger = logger.NewSlog(slog.Default())
Zap Logger
zapL, _ := zap.NewDevelopment()
t.Logger = &logger.Zap{L: zapL}
Custom Logger
Implement the Logger interface for your own logging solution.