|
|
@@ -53,10 +53,10 @@ func (s *Server) RegisterHandler(base string, handler ServiceHandler) {
|
|
|
// 自定义日志输出
|
|
|
g.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
|
|
|
return fmt.Sprintf("%s [%s] %s%s %s\n",
|
|
|
- param.ClientIP, // 客户端IP
|
|
|
+ param.ClientIP, // 客户端IP
|
|
|
param.Request.Header.Get("Tenant"), // 租户码
|
|
|
- param.Path, // 请求路径
|
|
|
- "/" + param.Request.Header.Get("X-RPCX-ServicePath")+"/"+param.Request.Header.Get("X-RPCX-ServiceMethod"),
|
|
|
+ param.Path, // 请求路径
|
|
|
+ "/"+param.Request.Header.Get("X-RPCX-ServicePath")+"/"+param.Request.Header.Get("X-RPCX-ServiceMethod"),
|
|
|
//param.StatusCode, // 请求状态码
|
|
|
//param.Latency, // 请求时长
|
|
|
param.ErrorMessage,
|
|
|
@@ -106,7 +106,15 @@ func wrapServiceHandler(handler ServiceHandler) gin.HandlerFunc {
|
|
|
tenant := r.Header.Get("Tenant")
|
|
|
if tenant != "" {
|
|
|
//r.Header.Set(XMeta, "tenant="+tenant)
|
|
|
- xmeta = "tenant="+tenant
|
|
|
+ xmeta = "tenant=" + tenant
|
|
|
+ }
|
|
|
+
|
|
|
+ serviceMethod := r.Header.Get(XServiceMethod)
|
|
|
+ if serviceMethod != "" {
|
|
|
+ if xmeta != "" {
|
|
|
+ xmeta = xmeta + "&"
|
|
|
+ }
|
|
|
+ xmeta = xmeta + "reqMethod=" + servicePath + "." + serviceMethod
|
|
|
}
|
|
|
|
|
|
// 传递ClientIP和UserAgent
|
|
|
@@ -114,8 +122,8 @@ func wrapServiceHandler(handler ServiceHandler) gin.HandlerFunc {
|
|
|
if x_Meta != "" && strings.Contains(x_Meta, "need_clint_Info=1") {
|
|
|
clientIP := ctx.ClientIP()
|
|
|
userAgent := gbase64.EncodeString(r.UserAgent())
|
|
|
- if xmeta!=""{
|
|
|
- xmeta= xmeta + "&"
|
|
|
+ if xmeta != "" {
|
|
|
+ xmeta = xmeta + "&"
|
|
|
}
|
|
|
xmeta = xmeta + "clientIP=" + clientIP + "&userAgent=" + userAgent
|
|
|
}
|
|
|
@@ -164,10 +172,10 @@ func wrapServiceHandler(handler ServiceHandler) gin.HandlerFunc {
|
|
|
// 普通开发环境改为json格式
|
|
|
env := r.Header.Get("SrvEnv")
|
|
|
if env == "dev" {
|
|
|
- ctx.Data(http.StatusOK, "application/json", payload)
|
|
|
+ ctx.Data(http.StatusOK, "application/json; charset=UTF-8", payload)
|
|
|
} else {
|
|
|
// 常规数据流
|
|
|
- ctx.Data(http.StatusOK, "application/octet-stream", payload)
|
|
|
+ ctx.Data(http.StatusOK, "application/octet-stream; charset=UTF-8", payload)
|
|
|
}
|
|
|
return
|
|
|
}
|