From 2ff5731b39f4c8fa05374f67f6fffb16d66d0775 Mon Sep 17 00:00:00 2001 From: Leander Beernaert Date: Fri, 18 Nov 2022 14:28:08 +0100 Subject: [PATCH] GODT-2059: Attempt to fix log crash Don't store the logrus entry as it might be possible that the standard logrus logger can get changed in between resulting in stale pointers inside the `Logrus.Entry` instance. --- internal/logging/imap_logger.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/logging/imap_logger.go b/internal/logging/imap_logger.go index 0b213b6a..bdd2fcd9 100644 --- a/internal/logging/imap_logger.go +++ b/internal/logging/imap_logger.go @@ -21,13 +21,12 @@ import "github.com/sirupsen/logrus" // IMAPLogger implements the writer interface for Gluon IMAP logs. type IMAPLogger struct { - l *logrus.Entry } func NewIMAPLogger() *IMAPLogger { - return &IMAPLogger{l: logrus.WithField("pkg", "IMAP")} + return &IMAPLogger{} } func (l *IMAPLogger) Write(p []byte) (n int, err error) { - return l.l.WriterLevel(logrus.TraceLevel).Write(p) + return logrus.WithField("pkg", "IMAP").WriterLevel(logrus.TraceLevel).Write(p) }