25
vendor/sigs.k8s.io/controller-runtime/pkg/log/log.go
generated
vendored
25
vendor/sigs.k8s.io/controller-runtime/pkg/log/log.go
generated
vendored
@@ -34,9 +34,15 @@ limitations under the License.
|
||||
package log
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
)
|
||||
|
||||
var (
|
||||
contextKey = &struct{}{}
|
||||
)
|
||||
|
||||
// SetLogger sets a concrete logging implementation for all deferred Loggers.
|
||||
func SetLogger(l logr.Logger) {
|
||||
Log.Fulfill(l)
|
||||
@@ -46,3 +52,22 @@ func SetLogger(l logr.Logger) {
|
||||
// to another logr.Logger. You *must* call SetLogger to
|
||||
// get any actual logging.
|
||||
var Log = NewDelegatingLogger(NullLogger{})
|
||||
|
||||
// FromContext returns a logger with predefined values from a context.Context.
|
||||
func FromContext(ctx context.Context, keysAndValues ...interface{}) logr.Logger {
|
||||
var log logr.Logger
|
||||
if ctx == nil {
|
||||
log = Log
|
||||
} else {
|
||||
lv := ctx.Value(contextKey)
|
||||
log = lv.(logr.Logger)
|
||||
}
|
||||
log.WithValues(keysAndValues...)
|
||||
return log
|
||||
}
|
||||
|
||||
// IntoContext takes a context and sets the logger as one of its keys.
|
||||
// Use FromContext function to retrieve the logger.
|
||||
func IntoContext(ctx context.Context, log logr.Logger) context.Context {
|
||||
return context.WithValue(ctx, contextKey, log)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user