Files
micromdm/pkg/log/context.go
Victor Vrantchan d3aadc271d log: add trace id and http request logs.
- Added the concept of a "trace id", a unique ID which gets associated
with every log/request by default. Will eventually use
opentelemetry/opentracing, or perhaps something better... Still very
alpha quality + lots of dependencies/API surface to bring in. For the
purpose of MicroMDM, a unique identifier per request is fine.

- Added HTTP logging middleware.
2020-07-05 15:04:00 -04:00

27 lines
437 B
Go

package log
import (
"context"
"github.com/go-kit/kit/log"
)
type key int
const loggerKey key = 0
func NewContext(ctx context.Context, logger Logger) context.Context {
return context.WithValue(ctx, loggerKey, logger)
}
func FromContext(ctx context.Context) Logger {
v, ok := ctx.Value(loggerKey).(Logger)
if !ok {
return log.NewNopLogger()
}
span := traceFromContext(ctx)
return log.With(v, "trace_id", span.TraceID)
}