import "github.com/grpc-ecosystem/go-grpc-middleware/logging"
grpc_logging is a "parent" package for gRPC logging middlewares.
The gRPC logging middleware populates request-scoped data to grpc_ctxtags.Tags
that relate to the current gRPC call
(e.g. service and method names).
Once the gRPC logging middleware has added the gRPC specific Tags to the ctx they will then be written with the logs
that are made using the ctx_logrus
or ctx_zap
loggers.
All logging middleware will emit a final log statement. It is based on the error returned by the handler function,
the gRPC status code, an error (if any) and it will emit at a level controlled via WithLevels
.
This particular package is intended for use by other middleware, logging or otherwise. It contains interfaces that other logging middlewares could share . This allows code to be shared between different implementations.
All field names of loggers follow the OpenTracing semantics definitions, with grpc.
prefix if needed:
https://github.com/opentracing/specification/blob/master/semantic_conventions.md
There are two implementations at the moment: logrus and zap
See relevant packages below.
- func DefaultDeciderMethod(fullMethodName string, err error) bool
- func DefaultErrorToCode(err error) codes.Code
- type ClientPayloadLoggingDecider
- type Decider
- type ErrorToCode
- type ServerPayloadLoggingDecider
func DefaultDeciderMethod(fullMethodName string, err error) bool
DefaultDeciderMethod is the default implementation of decider to see if you should log the call by default this if always true so all calls are logged
func DefaultErrorToCode(err error) codes.Code
type ClientPayloadLoggingDecider func(ctx context.Context, fullMethodName string) bool
ClientPayloadLoggingDecider is a user-provided function for deciding whether to log the client-side request/response payloads
type Decider func(fullMethodName string, err error) bool
Decider function defines rules for suppressing any interceptor logs
type ErrorToCode func(err error) codes.Code
ErrorToCode function determines the error code of an error This makes using custom errors with grpc middleware easier
type ServerPayloadLoggingDecider func(ctx context.Context, fullMethodName string, servingObject interface{}) bool
ServerPayloadLoggingDecider is a user-provided function for deciding whether to log the server-side request/response payloads
Generated by godoc2ghmd