diff --git a/utils/golog/api_mongo.go b/utils/golog/api_mongo.go index 64d4ef28..fa181ed7 100644 --- a/utils/golog/api_mongo.go +++ b/utils/golog/api_mongo.go @@ -3,13 +3,14 @@ package golog import ( "go.dtapp.net/library/utils/dorm" "go.dtapp.net/library/utils/gorequest" + "go.dtapp.net/library/utils/gotime" "go.mongodb.org/mongo-driver/bson/primitive" ) // 模型结构体 type apiMongoLog struct { LogId primitive.ObjectID `json:"log_id,omitempty" bson:"_id,omitempty"` //【记录】编号 - RequestTime dorm.BsonTime `json:"request_time,omitempty" bson:"request_time,omitempty"` //【请求】时间 + RequestTime int64 `json:"request_time,omitempty" bson:"request_time,omitempty"` //【请求】时间 RequestUri string `json:"request_uri,omitempty" bson:"request_uri,omitempty"` //【请求】链接 RequestUrl string `json:"request_url,omitempty" bson:"request_url,omitempty"` //【请求】链接 RequestApi string `json:"request_api,omitempty" bson:"request_api,omitempty"` //【请求】接口 @@ -20,7 +21,7 @@ type apiMongoLog struct { ResponseStatusCode int `json:"response_status_code,omitempty" bson:"response_status_code,omitempty"` //【返回】状态码 ResponseBody interface{} `json:"response_body,omitempty" bson:"response_body,omitempty"` //【返回】内容 ResponseContentLength int64 `json:"response_content_length,omitempty" bson:"response_content_length,omitempty"` //【返回】大小 - ResponseTime dorm.BsonTime `json:"response_time,omitempty" bson:"response_time,omitempty"` //【返回】时间 + ResponseTime int64 `json:"response_time,omitempty" bson:"response_time,omitempty"` //【返回】时间 SystemHostName string `json:"system_host_name,omitempty" bson:"system_host_name,omitempty"` //【系统】主机名 SystemInsideIp string `json:"system_inside_ip,omitempty" bson:"system_inside_ip,omitempty"` //【系统】内网ip GoVersion string `json:"go_version,omitempty" bson:"go_version,omitempty"` //【程序】Go版本 @@ -50,53 +51,53 @@ func (c *ApiClient) MongoQuery() *dorm.MongoClient { // MongoMiddleware 中间件 func (c *ApiClient) MongoMiddleware(request gorequest.Response) { c.mongoRecord(apiMongoLog{ - RequestTime: dorm.BsonTime(request.RequestTime), //【请求】时间 - RequestUri: request.RequestUri, //【请求】链接 - RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 - RequestApi: gorequest.UriParse(request.RequestUri).Path, //【请求】接口 - RequestMethod: request.RequestMethod, //【请求】方式 - RequestParams: request.RequestParams, //【请求】参数 - RequestHeader: request.RequestHeader, //【请求】头部 - ResponseHeader: request.ResponseHeader, //【返回】头部 - ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 - ResponseBody: request.ResponseBody, //【返回】内容 - ResponseContentLength: request.ResponseContentLength, //【返回】大小 - ResponseTime: dorm.BsonTime(request.ResponseTime), //【返回】时间 + RequestTime: gotime.SetCurrent(request.RequestTime).Timestamp(), //【请求】时间 + RequestUri: request.RequestUri, //【请求】链接 + RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 + RequestApi: gorequest.UriParse(request.RequestUri).Path, //【请求】接口 + RequestMethod: request.RequestMethod, //【请求】方式 + RequestParams: request.RequestParams, //【请求】参数 + RequestHeader: request.RequestHeader, //【请求】头部 + ResponseHeader: request.ResponseHeader, //【返回】头部 + ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 + ResponseBody: request.ResponseBody, //【返回】内容 + ResponseContentLength: request.ResponseContentLength, //【返回】大小 + ResponseTime: gotime.SetCurrent(request.ResponseTime).Timestamp(), //【返回】时间 }) } // MongoMiddlewareXml 中间件 func (c *ApiClient) MongoMiddlewareXml(request gorequest.Response) { c.mongoRecord(apiMongoLog{ - RequestTime: dorm.BsonTime(request.RequestTime), //【请求】时间 - RequestUri: request.RequestUri, //【请求】链接 - RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 - RequestApi: gorequest.UriParse(request.RequestUri).Path, //【请求】接口 - RequestMethod: request.RequestMethod, //【请求】方式 - RequestParams: request.RequestParams, //【请求】参数 - RequestHeader: request.RequestHeader, //【请求】头部 - ResponseHeader: request.ResponseHeader, //【返回】头部 - ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 - ResponseBody: dorm.XmlDecodeNoError(request.ResponseBody), //【返回】内容 - ResponseContentLength: request.ResponseContentLength, //【返回】大小 - ResponseTime: dorm.BsonTime(request.ResponseTime), //【返回】时间 + RequestTime: gotime.SetCurrent(request.RequestTime).Timestamp(), //【请求】时间 + RequestUri: request.RequestUri, //【请求】链接 + RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 + RequestApi: gorequest.UriParse(request.RequestUri).Path, //【请求】接口 + RequestMethod: request.RequestMethod, //【请求】方式 + RequestParams: request.RequestParams, //【请求】参数 + RequestHeader: request.RequestHeader, //【请求】头部 + ResponseHeader: request.ResponseHeader, //【返回】头部 + ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 + ResponseBody: dorm.XmlDecodeNoError(request.ResponseBody), //【返回】内容 + ResponseContentLength: request.ResponseContentLength, //【返回】大小 + ResponseTime: gotime.SetCurrent(request.ResponseTime).Timestamp(), //【返回】时间 }) } // MongoMiddlewareCustom 中间件 func (c *ApiClient) MongoMiddlewareCustom(api string, request gorequest.Response) { c.mongoRecord(apiMongoLog{ - RequestTime: dorm.BsonTime(request.RequestTime), //【请求】时间 - RequestUri: request.RequestUri, //【请求】链接 - RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 - RequestApi: api, //【请求】接口 - RequestMethod: request.RequestMethod, //【请求】方式 - RequestParams: request.RequestParams, //【请求】参数 - RequestHeader: request.RequestHeader, //【请求】头部 - ResponseHeader: request.ResponseHeader, //【返回】头部 - ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 - ResponseBody: request.ResponseBody, //【返回】内容 - ResponseContentLength: request.ResponseContentLength, //【返回】大小 - ResponseTime: dorm.BsonTime(request.ResponseTime), //【返回】时间 + RequestTime: gotime.SetCurrent(request.RequestTime).Timestamp(), //【请求】时间 + RequestUri: request.RequestUri, //【请求】链接 + RequestUrl: gorequest.UriParse(request.RequestUri).Url, //【请求】链接 + RequestApi: api, //【请求】接口 + RequestMethod: request.RequestMethod, //【请求】方式 + RequestParams: request.RequestParams, //【请求】参数 + RequestHeader: request.RequestHeader, //【请求】头部 + ResponseHeader: request.ResponseHeader, //【返回】头部 + ResponseStatusCode: request.ResponseStatusCode, //【返回】状态码 + ResponseBody: request.ResponseBody, //【返回】内容 + ResponseContentLength: request.ResponseContentLength, //【返回】大小 + ResponseTime: gotime.SetCurrent(request.ResponseTime).Timestamp(), //【返回】时间 }) } diff --git a/utils/golog/gin_mongo.go b/utils/golog/gin_mongo.go index d85b112a..978f664a 100644 --- a/utils/golog/gin_mongo.go +++ b/utils/golog/gin_mongo.go @@ -17,7 +17,7 @@ import ( type ginMongoLog struct { LogId primitive.ObjectID `json:"log_id,omitempty" bson:"_id,omitempty"` //【记录】编号 TraceId string `json:"trace_id,omitempty" bson:"trace_id,omitempty"` //【系统】链编号 - RequestTime dorm.BsonTime `json:"request_time,omitempty" bson:"request_time,omitempty"` //【请求】时间 + RequestTime int64 `json:"request_time,omitempty" bson:"request_time,omitempty"` //【请求】时间 RequestUri string `json:"request_uri,omitempty" bson:"request_uri,omitempty"` //【请求】请求链接 域名+路径+参数 RequestUrl string `json:"request_url,omitempty" bson:"request_url,omitempty"` //【请求】请求链接 域名+路径 RequestApi string `json:"request_api,omitempty" bson:"request_api,omitempty"` //【请求】请求接口 路径 @@ -34,7 +34,7 @@ type ginMongoLog struct { RequestIpCity string `json:"request_ip_city,omitempty" bson:"request_ip_city,omitempty"` //【请求】请求客户端城市 RequestIpIsp string `json:"request_ip_isp,omitempty" bson:"request_ip_isp,omitempty"` //【请求】请求客户端运营商 RequestHeader interface{} `json:"request_header,omitempty" bson:"request_header,omitempty"` //【请求】请求头 - ResponseTime dorm.BsonTime `json:"response_time,omitempty" bson:"response_time,omitempty"` //【返回】时间 + ResponseTime int64 `json:"response_time,omitempty" bson:"response_time,omitempty"` //【返回】时间 ResponseCode int `json:"response_code,omitempty" bson:"response_code,omitempty"` //【返回】状态码 ResponseMsg string `json:"response_msg,omitempty" bson:"response_msg,omitempty"` //【返回】描述 ResponseData interface{} `json:"response_data,omitempty" bson:"response_data,omitempty"` //【返回】数据 @@ -131,7 +131,7 @@ func (c *GinClient) MongoMiddleware() gin.HandlerFunc { if len(jsonBody) > 0 { c.mongoRecord(ginMongoLog{ TraceId: ginCtx.MustGet("trace_id").(string), //【系统】链编号 - RequestTime: dorm.BsonTime(requestTime), //【请求】时间 + RequestTime: gotime.SetCurrent(requestTime).Timestamp(), //【请求】时间 RequestUri: host + ginCtx.Request.RequestURI, //【请求】请求链接 RequestUrl: ginCtx.Request.RequestURI, //【请求】请求链接 RequestApi: gorequest.UriFilterExcludeQueryString(ginCtx.Request.RequestURI), //【请求】请求接口 @@ -148,7 +148,7 @@ func (c *GinClient) MongoMiddleware() gin.HandlerFunc { RequestIpCity: requestClientIpCity, //【请求】请求客户端城市 RequestIpIsp: requestClientIpIsp, //【请求】请求客户端运营商 RequestHeader: ginCtx.Request.Header, //【请求】请求头 - ResponseTime: dorm.BsonTime(gotime.Current().Time), //【返回】时间 + ResponseTime: gotime.SetCurrent(gotime.Current().Time).Timestamp(), //【返回】时间 ResponseCode: responseCode, //【返回】状态码 ResponseData: c.jsonUnmarshal(responseBody), //【返回】数据 CostTime: endTime - startTime, //【系统】花费时间 @@ -156,7 +156,7 @@ func (c *GinClient) MongoMiddleware() gin.HandlerFunc { } else { c.mongoRecord(ginMongoLog{ TraceId: ginCtx.MustGet("trace_id").(string), //【系统】链编号 - RequestTime: dorm.BsonTime(requestTime), //【请求】时间 + RequestTime: gotime.SetCurrent(requestTime).Timestamp(), //【请求】时间 RequestUri: host + ginCtx.Request.RequestURI, //【请求】请求链接 RequestUrl: ginCtx.Request.RequestURI, //【请求】请求链接 RequestApi: gorequest.UriFilterExcludeQueryString(ginCtx.Request.RequestURI), //【请求】请求接口 @@ -173,7 +173,7 @@ func (c *GinClient) MongoMiddleware() gin.HandlerFunc { RequestIpCity: requestClientIpCity, //【请求】请求客户端城市 RequestIpIsp: requestClientIpIsp, //【请求】请求客户端运营商 RequestHeader: ginCtx.Request.Header, //【请求】请求头 - ResponseTime: dorm.BsonTime(gotime.Current().Time), //【返回】时间 + ResponseTime: gotime.SetCurrent(gotime.Current().Time).Timestamp(), //【返回】时间 ResponseCode: responseCode, //【返回】状态码 ResponseData: c.jsonUnmarshal(responseBody), //【返回】数据 CostTime: endTime - startTime, //【系统】花费时间