From 1a9a656a7f0c7ada2fb63c909c0ab087f65dcaea Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 3 Feb 2022 13:40:19 -0500 Subject: [PATCH] sdk: add TestLogLevel for setting log level in tests And default log level to WARN. --- agent/acl_test.go | 2 +- agent/ae/ae_test.go | 6 +++--- agent/consul/client_test.go | 2 +- agent/consul/leader_test.go | 2 +- agent/consul/prepared_query_endpoint_test.go | 3 ++- agent/router/manager_internal_test.go | 5 +---- agent/testagent.go | 2 +- sdk/testutil/testlog.go | 14 ++++++++++++++ 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/agent/acl_test.go b/agent/acl_test.go index ad7e8cebb..539cf5c07 100644 --- a/agent/acl_test.go +++ b/agent/acl_test.go @@ -67,7 +67,7 @@ func NewTestACLAgent(t *testing.T, name string, hcl string, resolveAuthz authzRe bd.Logger = hclog.NewInterceptLogger(&hclog.LoggerOptions{ Name: name, - Level: hclog.Debug, + Level: testutil.TestLogLevel, Output: logBuffer, TimeFormat: "04:05.000", }) diff --git a/agent/ae/ae_test.go b/agent/ae/ae_test.go index dd88b52bf..c719f1951 100644 --- a/agent/ae/ae_test.go +++ b/agent/ae/ae_test.go @@ -8,10 +8,11 @@ import ( "testing" "time" - "github.com/hashicorp/consul/lib" - "github.com/hashicorp/consul/sdk/testutil" "github.com/hashicorp/go-hclog" "github.com/stretchr/testify/assert" + + "github.com/hashicorp/consul/lib" + "github.com/hashicorp/consul/sdk/testutil" ) func TestAE_scaleFactor(t *testing.T) { @@ -401,7 +402,6 @@ func (m *mock) SyncChanges() error { func testSyncer(t *testing.T) *StateSyncer { logger := hclog.New(&hclog.LoggerOptions{ - Level: 0, Output: testutil.NewLogBuffer(t), }) diff --git a/agent/consul/client_test.go b/agent/consul/client_test.go index 79c3f1a7b..9eb45aa8d 100644 --- a/agent/consul/client_test.go +++ b/agent/consul/client_test.go @@ -507,7 +507,7 @@ func newDefaultDeps(t *testing.T, c *Config) Deps { logger := hclog.NewInterceptLogger(&hclog.LoggerOptions{ Name: c.NodeName, - Level: hclog.Debug, + Level: testutil.TestLogLevel, Output: testutil.NewLogBuffer(t), }) diff --git a/agent/consul/leader_test.go b/agent/consul/leader_test.go index aeaf70f22..5106651b3 100644 --- a/agent/consul/leader_test.go +++ b/agent/consul/leader_test.go @@ -1445,7 +1445,7 @@ func TestLeader_ConfigEntryBootstrap_Fail(t *testing.T) { logger := hclog.NewInterceptLogger(&hclog.LoggerOptions{ Name: config.NodeName, - Level: hclog.Debug, + Level: testutil.TestLogLevel, Output: io.MultiWriter(pw, testutil.NewLogBuffer(t)), }) diff --git a/agent/consul/prepared_query_endpoint_test.go b/agent/consul/prepared_query_endpoint_test.go index 8f0e7ca31..7e64b8603 100644 --- a/agent/consul/prepared_query_endpoint_test.go +++ b/agent/consul/prepared_query_endpoint_test.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/consul/agent/structs" tokenStore "github.com/hashicorp/consul/agent/token" "github.com/hashicorp/consul/api" + "github.com/hashicorp/consul/sdk/testutil" "github.com/hashicorp/consul/sdk/testutil/retry" "github.com/hashicorp/consul/testrpc" "github.com/hashicorp/consul/types" @@ -2760,7 +2761,7 @@ func (m *mockQueryServer) GetLogger() hclog.Logger { m.Logger = hclog.New(&hclog.LoggerOptions{ Name: "mock_query", Output: m.LogBuffer, - Level: hclog.Debug, + Level: testutil.TestLogLevel, }) } return m.Logger diff --git a/agent/router/manager_internal_test.go b/agent/router/manager_internal_test.go index 92714a015..640e96a06 100644 --- a/agent/router/manager_internal_test.go +++ b/agent/router/manager_internal_test.go @@ -25,10 +25,7 @@ func init() { func GetBufferedLogger() hclog.Logger { localLogBuffer = new(bytes.Buffer) - return hclog.New(&hclog.LoggerOptions{ - Level: 0, - Output: localLogBuffer, - }) + return hclog.New(&hclog.LoggerOptions{Output: localLogBuffer}) } type fauxConnPool struct { diff --git a/agent/testagent.go b/agent/testagent.go index 0119a612e..84618f9af 100644 --- a/agent/testagent.go +++ b/agent/testagent.go @@ -159,7 +159,7 @@ func (a *TestAgent) Start(t *testing.T) error { } logger := hclog.NewInterceptLogger(&hclog.LoggerOptions{ - Level: hclog.Debug, + Level: testutil.TestLogLevel, Output: logOutput, TimeFormat: "04:05.000", Name: name, diff --git a/sdk/testutil/testlog.go b/sdk/testutil/testlog.go index fa0bd93db..bb41c4b55 100644 --- a/sdk/testutil/testlog.go +++ b/sdk/testutil/testlog.go @@ -10,6 +10,20 @@ import ( "github.com/hashicorp/go-hclog" ) +// TestLogLevel is set from the TEST_LOG_LEVEL environment variable. It can +// be used by tests to set the log level of a hclog.Logger. Defaults to +// hclog.Warn if the environment variable is unset, or if the value of the +// environment variable can not be matched to a log level. +var TestLogLevel = testLogLevel() + +func testLogLevel() hclog.Level { + level := hclog.LevelFromString(os.Getenv("TEST_LOG_LEVEL")) + if level != hclog.NoLevel { + return level + } + return hclog.Warn +} + func Logger(t TestingTB) hclog.InterceptLogger { return LoggerWithOutput(t, NewLogBuffer(t)) }