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, }))