dsfx/internal/lib/logging/logging.go

25 lines
460 B
Go
Raw Permalink Normal View History

2025-03-09 15:52:33 -04:00
package logging
2025-03-08 15:07:27 -05:00
import (
"context"
"log/slog"
)
type contextKey int
var ctxKey contextKey = 1
// FromContext retrieves the slog.Logger from the context.
func FromContext(ctx context.Context) *slog.Logger {
logger, ok := ctx.Value(ctxKey).(*slog.Logger)
if !ok {
return slog.Default()
}
return logger
}
// WithContext ...
func WithContext(ctx context.Context, logger *slog.Logger) context.Context {
return context.WithValue(ctx, ctxKey, logger)
}