diff --git a/log/global.go b/log/global.go index 72f871f78..a44d0b768 100644 --- a/log/global.go +++ b/log/global.go @@ -1,6 +1,7 @@ package log import ( + "context" "sync" ) @@ -46,6 +47,10 @@ func Log(level Level, keyvals ...interface{}) { global.helper.Log(level, keyvals...) } +func Context(ctx context.Context) *Helper { + return global.helper.WithContext(ctx) +} + // Debug logs a message at debug level. func Debug(a ...interface{}) { global.helper.Debug(a...) diff --git a/log/global_test.go b/log/global_test.go index 5d2f2c8f0..914823310 100644 --- a/log/global_test.go +++ b/log/global_test.go @@ -2,6 +2,7 @@ package log import ( "bytes" + "context" "fmt" "os" "strings" @@ -83,3 +84,12 @@ func TestGlobalLogUpdate(t *testing.T) { t.Errorf("Expected: %s, got: %s", expected, buffer.String()) } } + +func TestGolbalContext(t *testing.T) { + buffer := &bytes.Buffer{} + SetLogger(NewStdLogger(buffer)) + Context(context.Background()).Infof("111") + if buffer.String() != "INFO msg=111\n" { + t.Errorf("Expected:%s, got:%s", "INFO msg=111", buffer.String()) + } +}