|
|
|
@ -105,28 +105,36 @@ func (c *GinClient) GormMiddleware() gin.HandlerFunc {
|
|
|
|
|
|
|
|
|
|
var ctx = gotrace_id.SetGinTraceIdContext(context.Background(), ginCtx)
|
|
|
|
|
|
|
|
|
|
var dataJson = true
|
|
|
|
|
|
|
|
|
|
// 解析请求内容
|
|
|
|
|
var xmlBody map[string]string
|
|
|
|
|
var jsonBody map[string]interface{}
|
|
|
|
|
err := json.Unmarshal(data, &jsonBody)
|
|
|
|
|
if len(jsonBody) <= 0 {
|
|
|
|
|
xmlBody = goxml.XmlDecode(string(data))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.len(jsonBody)] %v\n", len(jsonBody))
|
|
|
|
|
}
|
|
|
|
|
// 判断是否有内容
|
|
|
|
|
if len(data) > 0 {
|
|
|
|
|
err := json.Unmarshal(data, &jsonBody)
|
|
|
|
|
if len(jsonBody) <= 0 {
|
|
|
|
|
dataJson = false
|
|
|
|
|
xmlBody = goxml.XmlDecode(string(data))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.json.Unmarshal] %s %s\n", jsonBody, err)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.len(jsonBody)] %v\n", len(jsonBody))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.GormMiddleware.json.Unmarshal] %s %s\n", jsonBody, err)
|
|
|
|
|
}
|
|
|
|
|
dataJson = false
|
|
|
|
|
xmlBody = goxml.XmlDecode(string(data))
|
|
|
|
|
}
|
|
|
|
|
xmlBody = goxml.XmlDecode(string(data))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.xmlBody] %s\n", xmlBody)
|
|
|
|
|
log.Printf("[golog.jsonBody] %s\n", jsonBody)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.xmlBody] %s\n", xmlBody)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.jsonBody] %s\n", jsonBody)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
clientIp := gorequest.ClientIp(ginCtx.Request)
|
|
|
|
@ -162,13 +170,13 @@ func (c *GinClient) GormMiddleware() gin.HandlerFunc {
|
|
|
|
|
} else {
|
|
|
|
|
host = "https://" + ginCtx.Request.Host
|
|
|
|
|
}
|
|
|
|
|
if len(jsonBody) > 0 {
|
|
|
|
|
if dataJson {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.gormRecord.json.request_body] %s\n", jsonBody)
|
|
|
|
|
log.Printf("[golog.gormRecord.json.request_body] %s\n", gojson.JsonEncodeNoError(jsonBody))
|
|
|
|
|
log.Printf("[golog.gormRecord.json.request_body] %s\n", datatypes.JSON(gojson.JsonEncodeNoError(jsonBody)))
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.json.request_body] %s\n", jsonBody)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.json.request_body] %s\n", gojson.JsonEncodeNoError(jsonBody))
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.json.request_body] %s\n", datatypes.JSON(gojson.JsonEncodeNoError(jsonBody)))
|
|
|
|
|
}
|
|
|
|
|
err = c.gormRecord(ginPostgresqlLog{
|
|
|
|
|
err := c.gormRecord(ginPostgresqlLog{
|
|
|
|
|
TraceId: traceId, //【系统】跟踪编号
|
|
|
|
|
RequestTime: requestTime, //【请求】时间
|
|
|
|
|
RequestUri: host + ginCtx.Request.RequestURI, //【请求】请求链接
|
|
|
|
@ -195,16 +203,16 @@ func (c *GinClient) GormMiddleware() gin.HandlerFunc {
|
|
|
|
|
if err != nil {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
c.logClient.Errorf(ctx, "[log.gormRecord] %s", err.Error())
|
|
|
|
|
log.Printf("[golog.gormRecord.json] %s\n", err)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.json] %s\n", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
log.Printf("[golog.gormRecord.xml.request_body] %s\n", xmlBody)
|
|
|
|
|
log.Printf("[golog.gormRecord.xml.request_body] %s\n", gojson.JsonEncodeNoError(xmlBody))
|
|
|
|
|
log.Printf("[golog.gormRecord.xml.request_body] %s\n", datatypes.JSON(gojson.JsonEncodeNoError(xmlBody)))
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.xml.request_body] %s\n", xmlBody)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.xml.request_body] %s\n", gojson.JsonEncodeNoError(xmlBody))
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.xml.request_body] %s\n", datatypes.JSON(gojson.JsonEncodeNoError(xmlBody)))
|
|
|
|
|
}
|
|
|
|
|
err = c.gormRecord(ginPostgresqlLog{
|
|
|
|
|
err := c.gormRecord(ginPostgresqlLog{
|
|
|
|
|
TraceId: traceId, //【系统】跟踪编号
|
|
|
|
|
RequestTime: requestTime, //【请求】时间
|
|
|
|
|
RequestUri: host + ginCtx.Request.RequestURI, //【请求】请求链接
|
|
|
|
@ -231,7 +239,7 @@ func (c *GinClient) GormMiddleware() gin.HandlerFunc {
|
|
|
|
|
if err != nil {
|
|
|
|
|
if c.config.logDebug {
|
|
|
|
|
c.logClient.Errorf(ctx, "[log.gormRecord] %s", err.Error())
|
|
|
|
|
log.Printf("[golog.gormRecord.xml] %s\n", err)
|
|
|
|
|
log.Printf("[golog.GormMiddleware.gormRecord.xml] %s\n", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|