Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 33 additions & 31 deletions klog.go
Original file line number Diff line number Diff line change
Expand Up @@ -895,44 +895,46 @@ func (l *loggingT) output(s severity.Severity, logger *logWriter, buf *buffer.Bu
if alsoToStderr || l.alsoToStderr || s >= l.stderrThreshold.get() {
os.Stderr.Write(data)
}
}

if logging.logFile != "" {
// Since we are using a single log file, all of the items in l.file array
// will point to the same file, so just use one of them to write data.
if l.file[severity.InfoLog] == nil {
if err := l.createFiles(severity.InfoLog); err != nil {
os.Stderr.Write(data) // Make sure the message appears somewhere.
l.exit(err)
}
// Always write to log file if configured
if logging.logFile != "" {
// Since we are using a single log file, all of the items in l.file array
// will point to the same file, so just use one of them to write data.
if l.file[severity.InfoLog] == nil {
if err := l.createFiles(severity.InfoLog); err != nil {
os.Stderr.Write(data) // Make sure the message appears somewhere.
l.exit(err)
}
_, _ = l.file[severity.InfoLog].Write(data)
} else {
if l.file[s] == nil {
if err := l.createFiles(s); err != nil {
os.Stderr.Write(data) // Make sure the message appears somewhere.
l.exit(err)
}
}
_, _ = l.file[severity.InfoLog].Write(data)
} else {
if l.file[s] == nil {
if err := l.createFiles(s); err != nil {
os.Stderr.Write(data) // Make sure the message appears somewhere.
l.exit(err)
}
}

if l.oneOutput {
_, _ = l.file[s].Write(data)
} else {
switch s {
case severity.FatalLog:
_, _ = l.file[severity.FatalLog].Write(data)
fallthrough
case severity.ErrorLog:
_, _ = l.file[severity.ErrorLog].Write(data)
fallthrough
case severity.WarningLog:
_, _ = l.file[severity.WarningLog].Write(data)
fallthrough
case severity.InfoLog:
_, _ = l.file[severity.InfoLog].Write(data)
}
if l.oneOutput {
_, _ = l.file[s].Write(data)
} else {
switch s {
case severity.FatalLog:
_, _ = l.file[severity.FatalLog].Write(data)
fallthrough
case severity.ErrorLog:
_, _ = l.file[severity.ErrorLog].Write(data)
fallthrough
case severity.WarningLog:
_, _ = l.file[severity.WarningLog].Write(data)
fallthrough
case severity.InfoLog:
_, _ = l.file[severity.InfoLog].Write(data)
}
}
}

if s == severity.FatalLog {
// If we got here via Exit rather than Fatal, print no stacks.
if atomic.LoadUint32(&fatalNoStacks) > 0 {
Expand Down