From 93cef0cf7fb10877bac4cd5c4280037b15dc0b2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Sat, 22 Feb 2025 15:45:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AF=B7=E6=B1=82=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- router/option.go | 16 ++++++++++++++++ router/server.go | 6 ++++++ 2 files changed, 22 insertions(+) diff --git a/router/option.go b/router/option.go index fe30d99..495871c 100644 --- a/router/option.go +++ b/router/option.go @@ -9,6 +9,7 @@ package router import ( apiDocDefine "git.zhangdeman.cn/gateway/api-doc/define" + "git.zhangdeman.cn/zhangdeman/gin/middleware" "github.com/gin-gonic/gin" "strings" ) @@ -30,6 +31,7 @@ type serverOption struct { enablePprof bool // 启用pprof enableRequestInit bool // 初始化请求,生成trace_id 设置请求时间等 enableCors bool // 启动跨域支持 + loggerCfg *middleware.AccessConfig // 日志配置 } // WithSwaggerUITheme 设置swaggerUI主题 @@ -145,3 +147,17 @@ func WithEnableCors() SetServerOptionFunc { so.enableCors = true } } + +// WithLoggerCdg ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 15:25 2025/2/22 +func WithLoggerCdg(loggerCfg *middleware.AccessConfig) SetServerOptionFunc { + return func(so *serverOption) { + if nil == loggerCfg || nil == loggerCfg.Logger { + return + } + so.loggerCfg = loggerCfg + } +} diff --git a/router/server.go b/router/server.go index 382e378..7c266a4 100644 --- a/router/server.go +++ b/router/server.go @@ -71,9 +71,15 @@ func NewServer(port int, optionList ...SetServerOptionFunc) *server { option := newServerOption(port, optionList...) globalMiddlewareList := make([]gin.HandlerFunc, 0) if option.enableRequestInit { + // 初始化请求中间件 globalMiddlewareList = append(globalMiddlewareList, middleware.InitRequest()) } + if nil != option.loggerCfg { + // 请求日志记录中间件 + globalMiddlewareList = append(globalMiddlewareList, middleware.LogRequest(option.loggerCfg)) + } if option.enableCors { + // 跨域中间件 globalMiddlewareList = append(globalMiddlewareList, request_cors.New(request_cors.Config{ AllowAllOrigins: true, }))