From 6d83b387ca56e3fdbc4b9305c6a29555976afaa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Tue, 6 Sep 2022 11:56:10 +0800 Subject: [PATCH] - update --- const.go | 2 +- gin.go | 20 ++++++++------------ gin_gorm.go | 36 +++++++++++++++++++----------------- gin_mongo.go | 24 ++++++++++++------------ 4 files changed, 40 insertions(+), 42 deletions(-) diff --git a/const.go b/const.go index 6c43921..9f76e6c 100644 --- a/const.go +++ b/const.go @@ -1,5 +1,5 @@ package golog const ( - Version = "1.0.63" + Version = "1.0.64" ) diff --git a/gin.go b/gin.go index 2f45a85..17205dd 100644 --- a/gin.go +++ b/gin.go @@ -11,7 +11,6 @@ import ( "go.dtapp.net/gorequest" "go.dtapp.net/gotime" "go.dtapp.net/gotrace_id" - "go.dtapp.net/goxml" "io/ioutil" "net" "os" @@ -194,7 +193,6 @@ func (c *GinClient) Middleware() gin.HandlerFunc { var dataJson = true // 解析请求内容 - var xmlBody map[string]string var jsonBody map[string]interface{} // 判断是否有内容 @@ -202,12 +200,10 @@ func (c *GinClient) Middleware() gin.HandlerFunc { err := json.Unmarshal(data, &jsonBody) if len(jsonBody) <= 0 { dataJson = false - xmlBody = goxml.XmlDecode(string(data)) } if err != nil { dataJson = false - xmlBody = goxml.XmlDecode(string(data)) } } @@ -238,28 +234,28 @@ func (c *GinClient) Middleware() gin.HandlerFunc { if c.log.gorm { if dataJson { if c.logDebug { - c.zapLog.WithLogger().Sugar().Info("[golog.gin.Middleware]准备使用{gormRecordJson}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.Middleware]准备使用{gormRecordJson}保存数据:%s", data) } - c.gormRecordJson(ginCtx, traceId, requestTime, jsonBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.gormRecordJson(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } else { if c.logDebug { - c.zapLog.WithLogger().Sugar().Info("[golog.gin.Middleware]准备使用{gormRecordXml}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.Middleware]准备使用{gormRecordXml}保存数据:%s", data) } - c.gormRecordXml(ginCtx, traceId, requestTime, xmlBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.gormRecordXml(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } } // 记录 if c.log.mongo { if dataJson { if c.logDebug { - c.zapLog.WithLogger().Sugar().Info("[golog.gin.Middleware]准备使用{mongoRecordJson}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.Middleware]准备使用{mongoRecordJson}保存数据:%s", data) } - c.mongoRecordJson(ginCtx, traceId, requestTime, jsonBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.mongoRecordJson(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } else { if c.logDebug { - c.zapLog.WithLogger().Sugar().Info("[golog.gin.Middleware]准备使用{mongoRecordXml}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.Middleware]准备使用{mongoRecordXml}保存数据:%s", data) } - c.mongoRecordXml(ginCtx, traceId, requestTime, xmlBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.mongoRecordXml(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } } }() diff --git a/gin_gorm.go b/gin_gorm.go index 1fc17dc..45ac7c2 100644 --- a/gin_gorm.go +++ b/gin_gorm.go @@ -135,7 +135,7 @@ func (c *GinClient) gormRecord(postgresqlLog ginPostgresqlLog) (err error) { return } -func (c *GinClient) gormRecordJson(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody map[string]interface{}, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { +func (c *GinClient) gormRecordJson(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { if c.logDebug { c.zapLog.WithLogger().Sugar().Infof("[golog.gin.gormRecordJson]收到保存数据要求:%s", c.gormConfig.tableName) @@ -171,8 +171,8 @@ func (c *GinClient) gormRecordJson(ginCtx *gin.Context, traceId string, requestT } if len(requestBody) > 0 { - data.RequestBody = datatypes.JSON(dorm.JsonEncodeNoError(requestBody)) //【请求】请求主体 - data.RequestContent = dorm.JsonEncodeNoError(requestBody) //【请求】请求内容 + data.RequestBody = datatypes.JSON(requestBody) //【请求】请求主体 + data.RequestContent = dorm.JsonEncodeNoError(requestBody) //【请求】请求内容 } else { c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.gormRecordJson.len]:%s %s", data.RequestUri, requestBody) } @@ -187,7 +187,7 @@ func (c *GinClient) gormRecordJson(ginCtx *gin.Context, traceId string, requestT } } -func (c *GinClient) gormRecordXml(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody map[string]string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { +func (c *GinClient) gormRecordXml(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { if c.logDebug { c.zapLog.WithLogger().Sugar().Infof("[golog.gin.gormRecordXml]收到保存数据要求:%s", c.gormConfig.tableName) @@ -223,7 +223,7 @@ func (c *GinClient) gormRecordXml(ginCtx *gin.Context, traceId string, requestTi } if len(requestBody) > 0 { - data.RequestContent = dorm.JsonEncodeNoError(requestBody) //【请求】请求内容 + data.RequestContent = dorm.JsonEncodeNoError(goxml.XmlDecode(requestBody)) //【请求】请求内容 } else { c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.gormRecordXml.len]:%s %s", data.RequestUri, requestBody) } @@ -233,8 +233,10 @@ func (c *GinClient) gormRecordXml(ginCtx *gin.Context, traceId string, requestTi c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml]:%s", err) c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.string]:%s", requestBody) c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.value]:%+v", requestBody) - c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.JsonEncodeNoError.string]:%s", dorm.JsonEncodeNoError(requestBody)) - c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.JsonEncodeNoError.value]:%+v", dorm.JsonEncodeNoError(requestBody)) + c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.XmlDecode.string]:%s", goxml.XmlDecode(requestBody)) + c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.XmlDecode.value]:%+v", goxml.XmlDecode(requestBody)) + c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.JsonEncodeNoError.string]:%s", dorm.JsonEncodeNoError(goxml.XmlDecode(requestBody))) + c.zapLog.WithTraceIdStr(traceId).Sugar().Errorf("[golog.gin.gormRecordXml.JsonEncodeNoError.value]:%+v", dorm.JsonEncodeNoError(goxml.XmlDecode(requestBody))) } } @@ -336,24 +338,24 @@ func (c *GinClient) GormMiddleware() gin.HandlerFunc { if dataJson { if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body] %s", jsonBody) - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body] %s", dorm.JsonEncodeNoError(jsonBody)) - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body] %s", datatypes.JSON(dorm.JsonEncodeNoError(jsonBody))) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body]:%s", jsonBody) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body]:%s", dorm.JsonEncodeNoError(jsonBody)) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.json.request_body]:%s", datatypes.JSON(dorm.JsonEncodeNoError(jsonBody))) } if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Info("[golog.gin.GormMiddleware]准备使用{gormRecordJson}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware]准备使用{gormRecordJson}保存数据:%s", data) } - c.gormRecordJson(ginCtx, traceId, requestTime, jsonBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.gormRecordJson(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } else { if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body] %s", xmlBody) - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body] %s", dorm.JsonEncodeNoError(xmlBody)) - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body] %s", datatypes.JSON(dorm.JsonEncodeNoError(xmlBody))) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body]:%s", xmlBody) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body]:%s", dorm.JsonEncodeNoError(xmlBody)) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware.gormRecord.xml.request_body]:%s", datatypes.JSON(dorm.JsonEncodeNoError(xmlBody))) } if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Info("[golog.gin.GormMiddleware]准备使用{gormRecordXml}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.GormMiddleware]准备使用{gormRecordXml}保存数据:%s", data) } - c.gormRecordXml(ginCtx, traceId, requestTime, xmlBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.gormRecordXml(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } } }() diff --git a/gin_mongo.go b/gin_mongo.go index cfd270e..b0d1d25 100644 --- a/gin_mongo.go +++ b/gin_mongo.go @@ -219,7 +219,7 @@ func (c *GinClient) mongoRecord(mongoLog ginMongoLog) (err error) { return err } -func (c *GinClient) mongoRecordJson(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody map[string]interface{}, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { +func (c *GinClient) mongoRecordJson(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { if c.logDebug { c.zapLog.WithLogger().Sugar().Infof("[golog.gin.mongoRecordJson]收到保存数据要求:%s,%s", c.mongoConfig.databaseName, c.mongoConfig.collectionName) @@ -253,8 +253,8 @@ func (c *GinClient) mongoRecordJson(ginCtx *gin.Context, traceId string, request data.RequestUri = "https://" + ginCtx.Request.Host + ginCtx.Request.RequestURI //【请求】请求链接 } - if len(dorm.JsonEncodeNoError(requestBody)) > 0 { - data.RequestBody = requestBody //【请求】请求主体 + if len(requestBody) > 0 { + data.RequestBody = dorm.JsonDecodeNoError([]byte(requestBody)) //【请求】请求主体 } else { c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.mongoRecordJson.len]:%s %s", data.RequestUri, requestBody) } @@ -265,7 +265,7 @@ func (c *GinClient) mongoRecordJson(ginCtx *gin.Context, traceId string, request } } -func (c *GinClient) mongoRecordXml(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody map[string]string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { +func (c *GinClient) mongoRecordXml(ginCtx *gin.Context, traceId string, requestTime time.Time, requestBody string, responseCode int, responseBody string, startTime, endTime int64, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp string) { if c.logDebug { c.zapLog.WithLogger().Sugar().Infof("[golog.gin.mongoRecordXml]收到保存数据要求:%s,%s", c.mongoConfig.databaseName, c.mongoConfig.collectionName) @@ -299,8 +299,8 @@ func (c *GinClient) mongoRecordXml(ginCtx *gin.Context, traceId string, requestT data.RequestUri = "https://" + ginCtx.Request.Host + ginCtx.Request.RequestURI //【请求】请求链接 } - if len(dorm.JsonEncodeNoError(requestBody)) > 0 { - data.RequestBody = requestBody //【请求】请求主体 + if len(requestBody) > 0 { + data.RequestBody = goxml.XmlDecode(requestBody) //【请求】请求主体 } else { c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.mongoRecordXml.len]:%s %s", data.RequestUri, requestBody) } @@ -409,20 +409,20 @@ func (c *GinClient) MongoMiddleware() gin.HandlerFunc { if dataJson { if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware.mongoRecord.json.request_body] %s", jsonBody) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware.mongoRecord.json.request_body]:%s", jsonBody) } if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Info("[golog.gin.MongoMiddleware]准备使用{mongoRecordJson}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware]准备使用{mongoRecordJson}保存数据:%s", data) } - c.mongoRecordJson(ginCtx, traceId, requestTime, jsonBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.mongoRecordJson(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } else { if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware.mongoRecord.xml.request_body] %s", xmlBody) + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware.mongoRecord.xml.request_body]:%s", xmlBody) } if c.logDebug { - c.zapLog.WithTraceIdStr(traceId).Sugar().Info("[golog.gin.MongoMiddleware]准备使用{mongoRecordXml}保存数据") + c.zapLog.WithTraceIdStr(traceId).Sugar().Infof("[golog.gin.MongoMiddleware]准备使用{mongoRecordXml}保存数据:%s", data) } - c.mongoRecordXml(ginCtx, traceId, requestTime, xmlBody, responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) + c.mongoRecordXml(ginCtx, traceId, requestTime, string(data), responseCode, responseBody, startTime, endTime, clientIp, requestClientIpCountry, requestClientIpRegion, requestClientIpProvince, requestClientIpCity, requestClientIpIsp) } } }()