From 36a333379e1d5f7906003089d994fa04575b882b Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Thu, 17 Aug 2023 12:54:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20server.Server=20=E7=9A=84=20HTTP=20?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=94=AF=E6=8C=81=E6=85=A2=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/http_router.go | 3 +++ server/server.go | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/http_router.go b/server/http_router.go index 2b49df9..484561f 100644 --- a/server/http_router.go +++ b/server/http_router.go @@ -3,6 +3,7 @@ package server import ( "github.com/gin-gonic/gin" "net/http" + "time" ) type HandlerFunc[Context any] func(ctx Context) @@ -24,7 +25,9 @@ func (slf *HttpRouter[Context]) handlesConvert(handlers []HandlerFunc[Context]) slf.srv.messageCounter.Add(-1) }() hc := slf.packer(ctx) + var now = time.Now() handler(hc) + slf.srv.low(nil, now, time.Second, "HTTP ["+ctx.Request.Method+"] "+ctx.Request.RequestURI) }) } return handles diff --git a/server/server.go b/server/server.go index 31fbe01..61f74eb 100644 --- a/server/server.go +++ b/server/server.go @@ -568,10 +568,16 @@ func (slf *Server) pushMessage(message *Message) { slf.messageChannel <- message } -func (slf *Server) low(message *Message, present time.Time, expect time.Duration) { +func (slf *Server) low(message *Message, present time.Time, expect time.Duration, messageReplace ...string) { cost := time.Since(present) if cost > expect { - log.Warn("Server", log.String("type", "low-message"), log.String("cost", cost.String()), log.String("message", message.String()), log.Stack("stack")) + var m = "unknown" + if message != nil { + m = message.String() + } else if len(messageReplace) > 0 { + m = messageReplace[0] + } + log.Warn("Server", log.String("type", "low-message"), log.String("cost", cost.String()), log.String("message", m), log.Stack("stack")) slf.OnMessageLowExecEvent(message, cost) } }