Middleware guides
Middleware - Logger
Detailed guide to Kern.Logger middleware with config options and production logging examples for Go API servers.
Kern.Logger
kern.Logger logs request method, path, status, duration, and response size.
Signature
func Logger(configs ...LoggerConfig) MiddlewareFuncCommon config options
Format:textorjsonOutput: custom writer destinationSLogger: structured logger backend (*slog.Logger)Fields: static fields to attach to all request logs
Example
app := kern.New()
app.Use(kern.Logger(kern.LoggerConfig{
Format: "json",
Fields: map[string]interface{}{
"service": "users-api",
"env": "prod",
},
}))Best practices
- Place logger early in global middleware chain.
- Add request IDs before logger if you want correlation IDs in logs.
Architecture Flow
Understand the end-to-end request and response flow in Kern, including net/http entry, middleware order, route matching, context reuse, handler execution, and response writes.
Middleware - Recovery
Detailed guide to Kern.Recovery middleware for panic-safe request handling in production Go services.