Skip to content

Commit 45b4f69

Browse files
committed
Add logger in the request ctx
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
1 parent 7943a87 commit 45b4f69

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

httpserver/handler_wrapper.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ type (
4848
tracer trace.Tracer
4949
logger *log.Logger
5050
}
51+
52+
ctxKey struct{ name string }
5153
)
5254

5355
const (
@@ -58,8 +60,15 @@ var (
5860
internalErrorResponse = map[string]string{
5961
"error": "internal error",
6062
}
63+
64+
loggerRequestContextKey = &ctxKey{name: "loggerRequest"}
6165
)
6266

67+
func LoggerFromContext(ctx context.Context) *log.Logger {
68+
logger, _ := ctx.Value(loggerRequestContextKey).(*log.Logger)
69+
return logger
70+
}
71+
6372
func newHandlerWrapper(
6473
next http.Handler,
6574
logger *log.Logger,
@@ -216,6 +225,8 @@ func (hw *handlerWrapper) ServeHTTP(w http.ResponseWriter, r *http.Request) {
216225
// support, a task for later.
217226
ctx = context.WithValue(ctx, chi.RouteCtxKey, chi.NewRouteContext())
218227

228+
ctx = context.WithValue(ctx, loggerRequestContextKey, logger)
229+
219230
defer func() {
220231
duration := time.Since(start)
221232
hasPanic := false

0 commit comments

Comments
 (0)