From 83bb9c90d3ce8b01125d30c3cbe867f458bfb124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@irstea.fr> Date: Wed, 26 Jun 2019 10:00:37 +0200 Subject: [PATCH] Added helpers to pass Loggers through context.Context. --- lib/log/context.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lib/log/context.go diff --git a/lib/log/context.go b/lib/log/context.go new file mode 100644 index 0000000..b40fa83 --- /dev/null +++ b/lib/log/context.go @@ -0,0 +1,18 @@ +package log + +import "context" + +type loggerContextKeyType int + +const loggerContextKey loggerContextKeyType = 0 + +func WithLogger(ctx context.Context, logger RawLogger) context.Context { + return context.WithValue(ctx, loggerContextKey, logger) +} + +func FromContext(ctx context.Context) *Logger { + if logger, ok := ctx.Value(loggerContextKey).(RawLogger); ok { + return &Logger{logger} + } + return DefaultLogger +} -- GitLab