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