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