ekko: Add WithLogFilters option

This commit is contained in:
Ask Bjørn Hansen 2024-10-12 11:39:16 -07:00
parent 4367ef9c29
commit ddb56b3566
2 changed files with 9 additions and 0 deletions

View File

@ -100,6 +100,7 @@ func (ek *Ekko) setup(ctx context.Context) (*echo.Echo, error) {
e.Use(slogecho.NewWithConfig(log,
slogecho.Config{
WithTraceID: false, // done by logger already
Filters: ek.logFilters,
},
))

View File

@ -3,6 +3,7 @@ package ekko
import (
"github.com/labstack/echo/v4"
"github.com/prometheus/client_golang/prometheus"
slogecho "github.com/samber/slog-echo"
)
type Ekko struct {
@ -10,6 +11,7 @@ type Ekko struct {
prom prometheus.Registerer
port int
routeFn func(e *echo.Echo) error
logFilters []slogecho.Filter
otelmiddleware echo.MiddlewareFunc
}
@ -33,6 +35,12 @@ func WithEchoSetup(rfn RouteFn) func(*Ekko) {
}
}
func WithLogFilters(f []slogecho.Filter) func(*Ekko) {
return func(ek *Ekko) {
ek.logFilters = f
}
}
func WithOtelMiddleware(mw echo.MiddlewareFunc) func(*Ekko) {
return func(ek *Ekko) {
ek.otelmiddleware = mw