clean access logging (#996)
parent
af14c07762
commit
5ed0c006a0
@ -0,0 +1,54 @@ |
|||||||
|
package logging |
||||||
|
|
||||||
|
import ( |
||||||
|
"context" |
||||||
|
|
||||||
|
"github.com/go-kratos/kratos/v2/log" |
||||||
|
"github.com/go-kratos/kratos/v2/transport/grpc" |
||||||
|
) |
||||||
|
|
||||||
|
func grpcServerLog(logger log.Logger, ctx context.Context, args string, err error) { |
||||||
|
info, ok := grpc.FromServerContext(ctx) |
||||||
|
if !ok { |
||||||
|
return |
||||||
|
} |
||||||
|
traceID, spanID := extractTrace(ctx) |
||||||
|
code, errMsg := extractError(err) |
||||||
|
level := log.LevelInfo |
||||||
|
if err != nil { |
||||||
|
level = log.LevelError |
||||||
|
} |
||||||
|
logger.Log(level, |
||||||
|
"kind", "server", |
||||||
|
"component", "grpc", |
||||||
|
"trace_id", traceID, |
||||||
|
"span_id", spanID, |
||||||
|
"grpc.target", info.FullMethod, |
||||||
|
"grpc.args", args, |
||||||
|
"grpc.code", code, |
||||||
|
"grpc.error", errMsg, |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
func grpcClientLog(logger log.Logger, ctx context.Context, args string, err error) { |
||||||
|
info, ok := grpc.FromClientContext(ctx) |
||||||
|
if !ok { |
||||||
|
return |
||||||
|
} |
||||||
|
traceID, spanID := extractTrace(ctx) |
||||||
|
code, errMsg := extractError(err) |
||||||
|
level := log.LevelInfo |
||||||
|
if err != nil { |
||||||
|
level = log.LevelError |
||||||
|
} |
||||||
|
logger.Log(level, |
||||||
|
"kind", "client", |
||||||
|
"component", "grpc", |
||||||
|
"trace_id", traceID, |
||||||
|
"span_id", spanID, |
||||||
|
"grpc.target", info.FullMethod, |
||||||
|
"grpc.args", args, |
||||||
|
"grpc.code", code, |
||||||
|
"grpc.error", errMsg, |
||||||
|
) |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
package logging |
||||||
|
|
||||||
|
import ( |
||||||
|
"context" |
||||||
|
|
||||||
|
"github.com/go-kratos/kratos/v2/log" |
||||||
|
"github.com/go-kratos/kratos/v2/transport/http" |
||||||
|
) |
||||||
|
|
||||||
|
func httpServerLog(logger log.Logger, ctx context.Context, args string, err error) { |
||||||
|
info, ok := http.FromServerContext(ctx) |
||||||
|
if !ok { |
||||||
|
return |
||||||
|
} |
||||||
|
traceID, spanID := extractTrace(ctx) |
||||||
|
code, errMsg := extractError(err) |
||||||
|
level := log.LevelInfo |
||||||
|
if err != nil { |
||||||
|
level = log.LevelError |
||||||
|
} |
||||||
|
logger.Log(level, |
||||||
|
"kind", "server", |
||||||
|
"component", "http", |
||||||
|
"trace_id", traceID, |
||||||
|
"span_id", spanID, |
||||||
|
"http.target", info.Request.RequestURI, |
||||||
|
"http.method", info.Request.Method, |
||||||
|
"http.args", args, |
||||||
|
"http.code", code, |
||||||
|
"http.error", errMsg, |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
func httpClientLog(logger log.Logger, ctx context.Context, args string, err error) { |
||||||
|
info, ok := http.FromClientContext(ctx) |
||||||
|
if !ok { |
||||||
|
return |
||||||
|
} |
||||||
|
traceID, spanID := extractTrace(ctx) |
||||||
|
code, errMsg := extractError(err) |
||||||
|
level := log.LevelInfo |
||||||
|
if err != nil { |
||||||
|
level = log.LevelError |
||||||
|
} |
||||||
|
logger.Log(level, |
||||||
|
"kind", "client", |
||||||
|
"component", "http", |
||||||
|
"trace_id", traceID, |
||||||
|
"span_id", spanID, |
||||||
|
"http.target", info.Request.RequestURI, |
||||||
|
"http.method", info.Request.Method, |
||||||
|
"http.args", args, |
||||||
|
"http.code", code, |
||||||
|
"http.error", errMsg, |
||||||
|
) |
||||||
|
} |
Loading…
Reference in new issue