context.go 375 B

12345678910111213141516171819
  1. package log
  2. import (
  3. "context"
  4. )
  5. var loggerContextKey interface{} = (*Logger)(nil)
  6. func ContextWithLogger(ctx context.Context, logger Logger) context.Context {
  7. return context.WithValue(ctx, loggerContextKey, logger)
  8. }
  9. func ContextLogger(ctx context.Context) Logger {
  10. value := ctx.Value(loggerContextKey)
  11. if value == nil {
  12. return Default
  13. }
  14. return value.(Logger)
  15. }