diff --git a/commands/commandeer.go b/commands/commandeer.go index 94b2c6553..3d4d0ff1b 100644 --- a/commands/commandeer.go +++ b/commands/commandeer.go @@ -104,7 +104,7 @@ func (c *commandeer) getErrorWithContext() interface{} { m := make(map[string]interface{}) - m["Error"] = errors.New(removeErrorPrefixFromLog(c.logger.Errors.String())) + m["Error"] = errors.New(removeErrorPrefixFromLog(c.logger.Errors())) m["Version"] = hugoVersionString() fe := herrors.UnwrapErrorWithFileContext(c.buildErr) diff --git a/common/loggers/loggers.go b/common/loggers/loggers.go index 0bc76a0f3..428a9f79c 100644 --- a/common/loggers/loggers.go +++ b/common/loggers/loggers.go @@ -42,14 +42,21 @@ type Logger struct { ErrorCounter *jww.Counter // This is only set in server mode. - Errors *bytes.Buffer + errors *bytes.Buffer +} + +func (l *Logger) Errors() string { + if l.errors == nil { + return "" + } + return ansiColorRe.ReplaceAllString(l.errors.String(), "") } // Reset resets the logger's internal state. func (l *Logger) Reset() { l.ErrorCounter.Reset() - if l.Errors != nil { - l.Errors.Reset() + if l.errors != nil { + l.errors.Reset() } } @@ -108,7 +115,7 @@ func newLogger(stdoutThreshold, logThreshold jww.Threshold, outHandle, logHandle return &Logger{ Notepad: jww.NewNotepad(stdoutThreshold, logThreshold, outHandle, logHandle, "", log.Ldate|log.Ltime, listeners...), ErrorCounter: errorCounter, - Errors: errorBuff, + errors: errorBuff, } }