From 029e7ca680053f94f59d6d8475dd04c72714d738 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Thu, 26 Jul 2018 14:38:26 +0100 Subject: [PATCH] api: Change logger functions to accept a log entry Rather than accepting a `logrus.FieldLogger` interface type, change all the `SetLogger()` functions to accept a `logrus.Entry`. Signed-off-by: James O. D. Hunt --- virtcontainers/api.go | 5 +++-- virtcontainers/device/api/interface.go | 4 ++-- virtcontainers/hack/virtc/main.go | 6 +++--- virtcontainers/implementation.go | 2 +- virtcontainers/interfaces.go | 2 +- virtcontainers/pkg/oci/utils.go | 2 +- virtcontainers/pkg/vcmock/mock.go | 2 +- virtcontainers/pkg/vcmock/mock_test.go | 2 +- virtcontainers/virtcontainers_test.go | 6 +++--- 9 files changed, 16 insertions(+), 15 deletions(-) diff --git a/virtcontainers/api.go b/virtcontainers/api.go index f9ab7b9d73..781e1eb314 100644 --- a/virtcontainers/api.go +++ b/virtcontainers/api.go @@ -19,11 +19,12 @@ func init() { runtime.LockOSThread() } -var virtLog = logrus.FieldLogger(logrus.New()) +var virtLog *logrus.Entry // SetLogger sets the logger for virtcontainers package. -func SetLogger(logger logrus.FieldLogger) { +func SetLogger(logger *logrus.Entry) { virtLog = logger.WithField("source", "virtcontainers") + deviceApi.SetLogger(virtLog) } diff --git a/virtcontainers/device/api/interface.go b/virtcontainers/device/api/interface.go index d6a4072d33..ab079598c9 100644 --- a/virtcontainers/device/api/interface.go +++ b/virtcontainers/device/api/interface.go @@ -12,10 +12,10 @@ import ( "github.com/kata-containers/runtime/virtcontainers/device/config" ) -var devLogger = logrus.FieldLogger(logrus.New()) +var devLogger *logrus.Entry // SetLogger sets the logger for device api package. -func SetLogger(logger logrus.FieldLogger) { +func SetLogger(logger *logrus.Entry) { devLogger = logger } diff --git a/virtcontainers/hack/virtc/main.go b/virtcontainers/hack/virtc/main.go index cf6457f9f8..ec36019db9 100644 --- a/virtcontainers/hack/virtc/main.go +++ b/virtcontainers/hack/virtc/main.go @@ -19,7 +19,7 @@ import ( vc "github.com/kata-containers/runtime/virtcontainers" ) -var virtcLog = logrus.New() +var virtcLog *logrus.Entry var listFormat = "%s\t%s\t%s\t%s\n" var statusFormat = "%s\t%s\n" @@ -915,14 +915,14 @@ func main() { if err != nil { return err } - virtcLog.Out = f + virtcLog.Logger.Out = f } switch context.GlobalString("log-format") { case "text": // retain logrus's default. case "json": - virtcLog.Formatter = new(logrus.JSONFormatter) + virtcLog.Logger.Formatter = new(logrus.JSONFormatter) default: return fmt.Errorf("unknown log-format %q", context.GlobalString("log-format")) } diff --git a/virtcontainers/implementation.go b/virtcontainers/implementation.go index 8e5f8fa039..b3a4b961ad 100644 --- a/virtcontainers/implementation.go +++ b/virtcontainers/implementation.go @@ -22,7 +22,7 @@ type VCImpl struct { } // SetLogger implements the VC function of the same name. -func (impl *VCImpl) SetLogger(logger logrus.FieldLogger) { +func (impl *VCImpl) SetLogger(logger *logrus.Entry) { SetLogger(logger) } diff --git a/virtcontainers/interfaces.go b/virtcontainers/interfaces.go index fc74b97992..ec0d2b5bd3 100644 --- a/virtcontainers/interfaces.go +++ b/virtcontainers/interfaces.go @@ -15,7 +15,7 @@ import ( // VC is the Virtcontainers interface type VC interface { - SetLogger(logger logrus.FieldLogger) + SetLogger(logger *logrus.Entry) SetFactory(Factory) CreateSandbox(sandboxConfig SandboxConfig) (VCSandbox, error) diff --git a/virtcontainers/pkg/oci/utils.go b/virtcontainers/pkg/oci/utils.go index 0fb67ad5d4..5028fc6577 100644 --- a/virtcontainers/pkg/oci/utils.go +++ b/virtcontainers/pkg/oci/utils.go @@ -131,7 +131,7 @@ func (config *RuntimeConfig) AddKernelParam(p vc.Param) error { var ociLog = logrus.FieldLogger(logrus.New()) // SetLogger sets the logger for oci package. -func SetLogger(logger logrus.FieldLogger) { +func SetLogger(logger *logrus.Entry) { ociLog = logger.WithFields(logrus.Fields{ "source": "virtcontainers", "subsystem": "oci", diff --git a/virtcontainers/pkg/vcmock/mock.go b/virtcontainers/pkg/vcmock/mock.go index c0413591b8..ea895c26a5 100644 --- a/virtcontainers/pkg/vcmock/mock.go +++ b/virtcontainers/pkg/vcmock/mock.go @@ -29,7 +29,7 @@ import ( const mockErrorPrefix = "vcmock forced failure" // SetLogger implements the VC function of the same name. -func (m *VCMock) SetLogger(logger logrus.FieldLogger) { +func (m *VCMock) SetLogger(logger *logrus.Entry) { if m.SetLoggerFunc != nil { m.SetLoggerFunc(logger) } diff --git a/virtcontainers/pkg/vcmock/mock_test.go b/virtcontainers/pkg/vcmock/mock_test.go index 67c7bfe644..411bc05541 100644 --- a/virtcontainers/pkg/vcmock/mock_test.go +++ b/virtcontainers/pkg/vcmock/mock_test.go @@ -98,7 +98,7 @@ func TestVCMockSetLogger(t *testing.T) { m := &VCMock{} assert.Nil(m.SetLoggerFunc) - logger := logrus.New() + logger := logrus.NewEntry(logrus.New()) assert.Equal(loggerTriggered, 0) m.SetLogger(logger) diff --git a/virtcontainers/virtcontainers_test.go b/virtcontainers/virtcontainers_test.go index 86432b6dac..c85a422560 100644 --- a/virtcontainers/virtcontainers_test.go +++ b/virtcontainers/virtcontainers_test.go @@ -66,11 +66,11 @@ func TestMain(m *testing.M) { flag.Parse() - logger := logrus.New() - logger.Level = logrus.ErrorLevel + logger := logrus.NewEntry(logrus.New()) + logger.Logger.Level = logrus.ErrorLevel for _, arg := range flag.Args() { if arg == "debug-logs" { - logger.Level = logrus.DebugLevel + logger.Logger.Level = logrus.DebugLevel } } SetLogger(logger)