diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-10-23 22:04:52 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-10-24 11:11:18 +0200 |
commit | baa975082c6809c8a02a8109ec3062a2b7d48344 (patch) | |
tree | 61820ab09d58b1fb18099b3910dc5f6179991368 /common | |
parent | 3e8b5a5c0157fdcf93588a42fbc90b3cd898f6b1 (diff) | |
download | hugo-baa975082c6809c8a02a8109ec3062a2b7d48344.tar.gz hugo-baa975082c6809c8a02a8109ec3062a2b7d48344.zip |
deps: Update to Chroma v0.6.8 to fix a crash
Also improve relevant logging.
Fixes #6450
Diffstat (limited to 'common')
-rw-r--r-- | common/loggers/loggers.go | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/common/loggers/loggers.go b/common/loggers/loggers.go index 082fd1487..8766e6aaf 100644 --- a/common/loggers/loggers.go +++ b/common/loggers/loggers.go @@ -15,11 +15,13 @@ package loggers import ( "bytes" + "fmt" "io" "io/ioutil" "log" "os" "regexp" + "runtime" "github.com/gohugoio/hugo/common/terminal" @@ -142,6 +144,26 @@ func getLogWriters(outHandle, logHandle io.Writer) (io.Writer, io.Writer) { } +type fatalLogWriter int + +func (s fatalLogWriter) Write(p []byte) (n int, err error) { + trace := make([]byte, 1500) + runtime.Stack(trace, true) + fmt.Printf("\n===========\n\n%s\n", trace) + os.Exit(-1) + + return 0, nil +} + +var fatalLogListener = func(t jww.Threshold) io.Writer { + if t != jww.LevelError { + // Only interested in ERROR + return nil + } + + return new(fatalLogWriter) +} + func newLogger(stdoutThreshold, logThreshold jww.Threshold, outHandle, logHandle io.Writer, saveErrors bool) *Logger { errorCounter := &jww.Counter{} warnCounter := &jww.Counter{} @@ -156,7 +178,6 @@ func newLogger(stdoutThreshold, logThreshold jww.Threshold, outHandle, logHandle // Only interested in ERROR return nil } - return errorBuff } |