mirror of https://github.com/databricks/cli.git
27 lines
681 B
Go
27 lines
681 B
Go
|
package log
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"golang.org/x/exp/slog"
|
||
|
)
|
||
|
|
||
|
type logger int
|
||
|
|
||
|
var loggerKey logger
|
||
|
|
||
|
// NewContext returns a new Context that carries the specified logger.
|
||
|
//
|
||
|
// Discussion why this is not part of slog itself: https://github.com/golang/go/issues/58243.
|
||
|
func NewContext(ctx context.Context, logger *slog.Logger) context.Context {
|
||
|
return context.WithValue(ctx, loggerKey, logger)
|
||
|
}
|
||
|
|
||
|
// FromContext returns the Logger value stored in ctx, if any.
|
||
|
//
|
||
|
// Discussion why this is not part of slog itself: https://github.com/golang/go/issues/58243.
|
||
|
func FromContext(ctx context.Context) (*slog.Logger, bool) {
|
||
|
u, ok := ctx.Value(loggerKey).(*slog.Logger)
|
||
|
return u, ok
|
||
|
}
|