mirror of https://github.com/databricks/cli.git
26 lines
541 B
Go
26 lines
541 B
Go
package telemetry
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
)
|
|
|
|
// Private type to store the telemetry logger in the context
|
|
type telemetryLogger int
|
|
|
|
// Key to store the telemetry logger in the context
|
|
var telemetryLoggerKey telemetryLogger
|
|
|
|
func WithNewLogger(ctx context.Context) context.Context {
|
|
return context.WithValue(ctx, telemetryLoggerKey, &logger{})
|
|
}
|
|
|
|
func fromContext(ctx context.Context) *logger {
|
|
v := ctx.Value(telemetryLoggerKey)
|
|
if v == nil {
|
|
panic(fmt.Errorf("telemetry logger not found in the context"))
|
|
}
|
|
|
|
return v.(*logger)
|
|
}
|