wip: 登录和认证
This commit is contained in:
@ -1,9 +1,53 @@
|
||||
package logger
|
||||
|
||||
import "github.com/gofiber/fiber/v3"
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/spf13/cast"
|
||||
"loveuer/utodo/pkg/logger"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
func New() fiber.Handler {
|
||||
pool := sync.Pool{
|
||||
New: func() any {
|
||||
return &strings.Builder{}
|
||||
},
|
||||
}
|
||||
|
||||
return func(c fiber.Ctx) error {
|
||||
return c.Next()
|
||||
start := time.Now()
|
||||
err := c.Next()
|
||||
|
||||
duration := time.Since(start)
|
||||
method := c.Method()
|
||||
path := c.Path()
|
||||
status := c.Response().StatusCode()
|
||||
traceId := c.Context().Value(logger.CtxKey)
|
||||
|
||||
buf := pool.Get().(*strings.Builder)
|
||||
defer pool.Put(buf)
|
||||
|
||||
buf.Reset()
|
||||
|
||||
buf.WriteString("API | ")
|
||||
buf.WriteString(start.Format("2006-01-02T15:04:05"))
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(method)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(path)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(duration.String())
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(strconv.Itoa(status))
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(cast.ToString(traceId))
|
||||
|
||||
fmt.Println(buf.String())
|
||||
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user