From d8443ee470fbd6bd69f734604cc9954d4a40bfa4 Mon Sep 17 00:00:00 2001 From: Adphi Date: Fri, 1 Jul 2022 22:09:20 +0200 Subject: [PATCH] logger: add SetOutput method Signed-off-by: Adphi --- logger/logger.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/logger/logger.go b/logger/logger.go index ca123e0..98a1231 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -29,6 +29,8 @@ type Logger interface { SetLevel(level logrus.Level) Logger WriterLevel(level logrus.Level) *io.PipeWriter + SetOutput(w io.Writer) Logger + Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) Printf(format string, args ...interface{}) @@ -205,3 +207,15 @@ func (l *logger) Logr() logr.Logger { func (l *logger) FieldLogger() logrus.FieldLogger { return l.fl } + +func (l *logger) SetOutput(w io.Writer) Logger { + switch t := l.fl.(type) { + case *logrus.Logger: + t.SetOutput(w) + return l + case *logrus.Entry: + t.Logger.SetOutput(w) + return l + } + panic(fmt.Sprintf("unexpected logger type %T", l.fl)) +}