Documentation ¶
Overview ¶
grpc_logging is a "parent" package for gRPC logging middlewares.
General functionality of all middleware ¶
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 parent package ¶
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.
Field names ¶
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
Implementations ¶
There are three implementations at the moment: logrus, zap and kit
See relevant packages below.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultDeciderMethod ¶
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 ¶
Types ¶
type ClientPayloadLoggingDecider ¶
ClientPayloadLoggingDecider is a user-provided function for deciding whether to log the client-side request/response payloads
type ErrorToCode ¶
ErrorToCode function determines the error code of an error This makes using custom errors with grpc middleware easier
type JsonPbMarshaler ¶ added in v1.2.0
JsonPbMarshaller is a marshaller that serializes protobuf messages.
Directories ¶
Path | Synopsis |
---|---|
`grpc_kit` is a gRPC logging middleware backed by go-kit loggers
|
`grpc_kit` is a gRPC logging middleware backed by go-kit loggers |
ctxkit
`ctxkit` is a ctxlogger that is backed by go-kit
|
`ctxkit` is a ctxlogger that is backed by go-kit |
`grpc_logrus` is a gRPC logging middleware backed by Logrus loggers
|
`grpc_logrus` is a gRPC logging middleware backed by Logrus loggers |
ctxlogrus
`ctxlogrus` is a ctxlogger that is backed by logrus
|
`ctxlogrus` is a ctxlogger that is backed by logrus |
grpc_logsettable contains a thread-safe wrapper around grpc-logging infrastructure.
|
grpc_logsettable contains a thread-safe wrapper around grpc-logging infrastructure. |
`grpc_zap` is a gRPC logging middleware backed by ZAP loggers
|
`grpc_zap` is a gRPC logging middleware backed by ZAP loggers |
ctxzap
`ctxzap` is a ctxlogger that is backed by Zap
|
`ctxzap` is a ctxlogger that is backed by Zap |