Skip to content

Commit 758a422

Browse files
committed
Setting a logger without its level
This may not have an real use-case, but Firecracker supports the combination. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
1 parent ee1e7c4 commit 758a422

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

machine.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,9 +616,16 @@ func (m *Machine) setupLogging(ctx context.Context) error {
616616
return nil
617617
}
618618

619+
// m.Cfg.LogLevel cannot be nil, but Firecracker allows setting a logger
620+
// without its level. Converting "" to nil to support the corner case.
621+
level := String(m.Cfg.LogLevel)
622+
if StringValue(level) == "" {
623+
level = nil
624+
}
625+
619626
l := models.Logger{
620627
LogPath: String(path),
621-
Level: String(m.Cfg.LogLevel),
628+
Level: level,
622629
ShowLevel: Bool(true),
623630
ShowLogOrigin: Bool(false),
624631
}

machine_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,7 @@ func TestLogAndMetrics(t *testing.T) {
424424
logLevel string
425425
quiet bool
426426
}{
427+
{logLevel: "", quiet: false},
427428
{logLevel: "Info", quiet: false},
428429
{logLevel: "Error", quiet: true},
429430
}
@@ -432,9 +433,15 @@ func TestLogAndMetrics(t *testing.T) {
432433
out := testLogAndMetrics(t, test.logLevel)
433434
if test.quiet {
434435
assert.Regexp(t, `^Running Firecracker v0\.\d+\.0`, out)
435-
} else {
436-
assert.Contains(t, string(out), ":"+strings.ToUpper(test.logLevel)+"]")
436+
return
437437
}
438+
439+
// By default, Firecracker's log level is Warn.
440+
logLevel := "WARN"
441+
if test.logLevel != "" {
442+
logLevel = strings.ToUpper(test.logLevel)
443+
}
444+
assert.Contains(t, out, ":"+logLevel+"]")
438445
})
439446
}
440447
}

0 commit comments

Comments
 (0)