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