MCPcopy Create free account
hub / github.com/astercloud/aster / structuredLoggingMiddleware

Function structuredLoggingMiddleware

server/middleware.go:28–45  ·  view source on GitHub ↗

structuredLoggingMiddleware logs requests in structured format

(config LoggingConfig)

Source from the content-addressed store, hash-verified

26
27// structuredLoggingMiddleware logs requests in structured format
28func structuredLoggingMiddleware(config LoggingConfig) gin.HandlerFunc {
29 return func(c *gin.Context) {
30 start := time.Now()
31 path := c.Request.URL.Path
32
33 c.Next()
34
35 latency := time.Since(start)
36 statusCode := c.Writer.Status()
37 method := c.Request.Method
38 requestID := c.GetString("requestID")
39
40 if config.Structured {
41 fmt.Printf(`{"time":"%s","request_id":"%s","method":"%s","path":"%s","status":%d,"latency":"%v"}%s`,
42 start.Format(time.RFC3339), requestID, method, path, statusCode, latency, "\n")
43 }
44 }
45}
46
47// corsMiddleware handles CORS
48func corsMiddleware(config CORSConfig) gin.HandlerFunc {

Callers 1

setupMiddlewareMethod · 0.85

Calls 2

PrintfMethod · 0.80
StatusMethod · 0.45

Tested by

no test coverage detected