From 1606ef52199be89d7453a5b93de29ebeb8145828 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Wed, 28 Jul 2021 15:36:23 -0700 Subject: [PATCH] logtail: print panics from previous runs on stderr Signed-off-by: David Crawshaw --- logtail/logtail.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/logtail/logtail.go b/logtail/logtail.go index 6247573fd..f51c8ce2a 100644 --- a/logtail/logtail.go +++ b/logtail/logtail.go @@ -118,6 +118,7 @@ type Logger struct { bo *backoff.Backoff zstdEncoder Encoder uploadCancel func() + explainedRaw bool shutdownStart chan struct{} // closed when shutdown begins shutdownDone chan struct{} // closd when shutdown complete @@ -230,6 +231,14 @@ func (l *Logger) drainPending() (res []byte) { // outside of the logtail logger. Encode it. // Do not add a client time, as it could have been // been written a long time ago. + if !l.explainedRaw { + fmt.Fprintf(l.stderr, "RAW-STDERR: ***\n") + fmt.Fprintf(l.stderr, "RAW-STDERR: *** Lines prefixed with RAW-STDERR below bypassed logtail and probably come from a previous run of the program\n") + fmt.Fprintf(l.stderr, "RAW-STDERR: ***\n") + fmt.Fprintf(l.stderr, "RAW-STDERR:\n") + l.explainedRaw = true + } + fmt.Fprintf(l.stderr, "RAW-STDERR: %s", b) b = l.encodeText(b, true) }