Files
trikotwaschliste/logbuffer/logbuffer.go

34 lines
598 B
Go

package logbuffer
import (
"fmt"
"github.com/gin-gonic/gin"
"time"
)
func UseLogBuffer(queue *Queue) gin.HandlerFunc {
return gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
output := fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" %s\"\n",
param.ClientIP,
param.TimeStamp.Format(time.RFC1123),
param.Method,
param.Path,
param.Request.Proto,
param.StatusCode,
param.Latency,
param.Request.UserAgent(),
param.ErrorMessage,
)
// Write the output to our queue
queue.push(output)
queue.Limit(200)
// Return nothing
return ""
})
}