支持请求日志记录中间件

This commit is contained in:
白茶清欢 2025-02-22 15:45:30 +08:00
parent b9a7f97342
commit 93cef0cf7f
2 changed files with 22 additions and 0 deletions

View File

@ -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
}
}

View File

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