Skip to content

Commit 023416b

Browse files
authored
Merge pull request #258 from kzys/log-empty-level
Setting a logger without its level
2 parents b077d14 + 758a422 commit 023416b

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
@@ -618,9 +618,16 @@ func (m *Machine) setupLogging(ctx context.Context) error {
618618
return nil
619619
}
620620

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

machine_test.go

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

0 commit comments

Comments
 (0)