# README

ctx_zap

import "github.com/grpc-ecosystem/go-grpc-middleware/tags/zap"

Overview

ctx_zap is a ctxlogger that is backed by Zap

It accepts a user-configured zap.Logger that will be used for logging. The same zap.Logger will be populated into the context.Context passed into gRPC handler code.

You can use ctx_zap.Extract to log into a request-scoped zap.Logger instance in your handler code.

As ctx_zap.Extract will iterate all tags on from grpc_ctxtags it is therefore expensive so it is advised that you extract once at the start of the function from the context and reuse it for the remainder of the function (see examples).

Please see examples and tests for examples of use.

Imported Packages

Index

Package files

context.go doc.go

func AddFields

func AddFields(ctx context.Context, fields ...zapcore.Field)

AddFields adds zap fields to the logger.

func Extract

func Extract(ctx context.Context) *zap.Logger

Extract takes the call-scoped Logger from grpc_zap middleware.

It always returns a Logger that has all the grpc_ctxtags updated.

func TagsToFields

func TagsToFields(ctx context.Context) []zapcore.Field

TagsToFields transforms the Tags on the supplied context into zap fields.

func ToContext

func ToContext(ctx context.Context, logger *zap.Logger) context.Context

ToContext adds the zap.Logger to the context for extraction later. Returning the new context that has been created.


Generated by godoc2ghmd

# Functions

AddFields adds zap fields to the logger.
Extract takes the call-scoped Logger from grpc_zap middleware.
TagsToFields transforms the Tags on the supplied context into zap fields.
ToContext adds the zap.Logger to the context for extraction later.