1 // 2 /* 3 grpc_logging is a "parent" package for gRPC logging middlewares. 4 5 General functionality of all middleware 6 7 The gRPC logging middleware populates request-scoped data to `grpc_ctxtags.Tags` that relate to the current gRPC call 8 (e.g. service and method names). 9 10 Once the gRPC logging middleware has added the gRPC specific Tags to the ctx they will then be written with the logs 11 that are made using the `ctx_logrus` or `ctx_zap` loggers. 12 13 All logging middleware will emit a final log statement. It is based on the error returned by the handler function, 14 the gRPC status code, an error (if any) and it will emit at a level controlled via `WithLevels`. 15 16 This parent package 17 18 This particular package is intended for use by other middleware, logging or otherwise. It contains interfaces that other 19 logging middlewares *could* share . This allows code to be shared between different implementations. 20 21 Field names 22 23 All field names of loggers follow the OpenTracing semantics definitions, with `grpc.` prefix if needed: 24 https://github.com/opentracing/specification/blob/master/semantic_conventions.md 25 26 Implementations 27 28 There are three implementations at the moment: logrus, zap and kit 29 30 See relevant packages below. 31 */ 32 package grpc_logging 33