mirror of
				https://github.com/go-kratos/kratos.git
				synced 2025-10-30 23:47:59 +02:00 
			
		
		
		
	add request params
This commit is contained in:
		| @@ -2,6 +2,7 @@ package logging | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
|  | 	"fmt" | ||||||
|  |  | ||||||
| 	"github.com/go-kratos/kratos/v2/errors" | 	"github.com/go-kratos/kratos/v2/errors" | ||||||
| 	"github.com/go-kratos/kratos/v2/log" | 	"github.com/go-kratos/kratos/v2/log" | ||||||
| @@ -36,22 +37,30 @@ func Server(opts ...Option) middleware.Middleware { | |||||||
| 	return func(handler middleware.Handler) middleware.Handler { | 	return func(handler middleware.Handler) middleware.Handler { | ||||||
| 		return func(ctx context.Context, req interface{}) (interface{}, error) { | 		return func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
| 			var ( | 			var ( | ||||||
| 				path   string | 				path      string | ||||||
| 				method string | 				method    string | ||||||
|  | 				params    string | ||||||
|  | 				component string | ||||||
| 			) | 			) | ||||||
| 			if info, ok := http.FromServerContext(ctx); ok { | 			if info, ok := http.FromServerContext(ctx); ok { | ||||||
|  | 				component = "HTTP" | ||||||
| 				path = info.Request.RequestURI | 				path = info.Request.RequestURI | ||||||
| 				method = info.Request.Method | 				method = info.Request.Method | ||||||
|  | 				params = info.Request.Form.Encode() | ||||||
| 			} else if info, ok := grpc.FromServerContext(ctx); ok { | 			} else if info, ok := grpc.FromServerContext(ctx); ok { | ||||||
|  | 				component = "gRPC" | ||||||
| 				path = info.FullMethod | 				path = info.FullMethod | ||||||
| 				method = "POST" | 				method = "POST" | ||||||
|  | 				params = req.(fmt.Stringer).String() | ||||||
| 			} | 			} | ||||||
| 			reply, err := handler(ctx, req) | 			reply, err := handler(ctx, req) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Errorw( | 				log.Errorw( | ||||||
| 					"kind", "server", | 					"kind", "server", | ||||||
|  | 					"component", component, | ||||||
| 					"path", path, | 					"path", path, | ||||||
| 					"method", method, | 					"method", method, | ||||||
|  | 					"params", params, | ||||||
| 					"code", errors.Code(err), | 					"code", errors.Code(err), | ||||||
| 					"error", err.Error(), | 					"error", err.Error(), | ||||||
| 				) | 				) | ||||||
| @@ -59,8 +68,10 @@ func Server(opts ...Option) middleware.Middleware { | |||||||
| 			} | 			} | ||||||
| 			log.Infow( | 			log.Infow( | ||||||
| 				"kind", "server", | 				"kind", "server", | ||||||
|  | 				"component", component, | ||||||
| 				"path", path, | 				"path", path, | ||||||
| 				"method", method, | 				"method", method, | ||||||
|  | 				"params", params, | ||||||
| 				"code", 0, | 				"code", 0, | ||||||
| 			) | 			) | ||||||
| 			return reply, nil | 			return reply, nil | ||||||
| @@ -80,18 +91,21 @@ func Client(opts ...Option) middleware.Middleware { | |||||||
| 	return func(handler middleware.Handler) middleware.Handler { | 	return func(handler middleware.Handler) middleware.Handler { | ||||||
| 		return func(ctx context.Context, req interface{}) (interface{}, error) { | 		return func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
| 			var ( | 			var ( | ||||||
| 				component string |  | ||||||
| 				path      string | 				path      string | ||||||
| 				method    string | 				method    string | ||||||
|  | 				params    string | ||||||
|  | 				component string | ||||||
| 			) | 			) | ||||||
| 			if info, ok := http.FromClientContext(ctx); ok { | 			if info, ok := http.FromClientContext(ctx); ok { | ||||||
| 				component = "HTTP" | 				component = "HTTP" | ||||||
| 				path = info.Request.RequestURI | 				path = info.Request.RequestURI | ||||||
| 				method = info.Request.Method | 				method = info.Request.Method | ||||||
|  | 				params = info.Request.Form.Encode() | ||||||
| 			} else if info, ok := grpc.FromClientContext(ctx); ok { | 			} else if info, ok := grpc.FromClientContext(ctx); ok { | ||||||
| 				component = "gRPC" |  | ||||||
| 				path = info.FullMethod | 				path = info.FullMethod | ||||||
| 				method = "POST" | 				method = "POST" | ||||||
|  | 				component = "gRPC" | ||||||
|  | 				params = req.(fmt.Stringer).String() | ||||||
| 			} | 			} | ||||||
| 			reply, err := handler(ctx, req) | 			reply, err := handler(ctx, req) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| @@ -100,6 +114,7 @@ func Client(opts ...Option) middleware.Middleware { | |||||||
| 					"component", component, | 					"component", component, | ||||||
| 					"path", path, | 					"path", path, | ||||||
| 					"method", method, | 					"method", method, | ||||||
|  | 					"params", params, | ||||||
| 					"code", errors.Code(err), | 					"code", errors.Code(err), | ||||||
| 					"error", err.Error(), | 					"error", err.Error(), | ||||||
| 				) | 				) | ||||||
| @@ -110,6 +125,7 @@ func Client(opts ...Option) middleware.Middleware { | |||||||
| 				"component", component, | 				"component", component, | ||||||
| 				"path", path, | 				"path", path, | ||||||
| 				"method", method, | 				"method", method, | ||||||
|  | 				"params", params, | ||||||
| 				"code", 0, | 				"code", 0, | ||||||
| 			) | 			) | ||||||
| 			return reply, nil | 			return reply, nil | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user