grpc_logging

package
v0.0.0-...-f63a7df Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2017 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

grpc_logging is a "parent" package for gRPC logging middlewares

General functionality of all middleware

All logging middleware have an `Extract(ctx)` function that provides a request-scoped logger with gRPC-related fields (service and method names). Moreover, that logger will have fields populated from the `grpc_ctxtags.Tags` of the context.

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 two implementations at the moment: logrus and zap

See relevant packages below.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultErrorToCode

func DefaultErrorToCode(err error) codes.Code

Types

type ClientPayloadLoggingDecider

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 ErrorToCode

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

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

Directories

Path Synopsis
`grpc_logrus` is a gRPC logging middleware backed by Logrus loggers It accepts a user-configured `logrus.Entry` that will be used for logging completed gRPC calls.
`grpc_logrus` is a gRPC logging middleware backed by Logrus loggers It accepts a user-configured `logrus.Entry` that will be used for logging completed gRPC calls.
`grpc_zap` is a gRPC logging middleware backed by ZAP loggers It accepts a user-configured `zap.Logger` that will be used for logging completed gRPC calls.
`grpc_zap` is a gRPC logging middleware backed by ZAP loggers It accepts a user-configured `zap.Logger` that will be used for logging completed gRPC calls.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL