From 45e04f632eff0af5bae794ec95d70cf33619134c Mon Sep 17 00:00:00 2001 From: dozysun Date: Mon, 14 Sep 2020 17:47:25 +0800 Subject: [PATCH 1/2] Update logger.go allow users add output for specify level log --- logger.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/logger.go b/logger.go index 39b8ca1..c7a4752 100644 --- a/logger.go +++ b/logger.go @@ -307,6 +307,42 @@ func (l *Logger) V(lvl Level) Verbose { } } +// AddInfoLogOutPut add output destination for info Logger +func (l *Logger) AddInfoLogOutPut(writers ...io.Writer){ + logLock.Lock() + defer logLock.Unlock() + l.infoLog.SetOutput(io.MultiWriter(l.infoLog.Writer(), io.MultiWriter(writers...))) +} + +// AddWariningLogOutPut add output destination for warining Logger +func (l *Logger) AddWariningLogOutPut(writers ...io.Writer){ + logLock.Lock() + defer logLock.Unlock() + l.warningLog.SetOutput(io.MultiWriter(l.warningLog.Writer(), io.MultiWriter(writers...))) +} + +// AddErrorLogOutPut add output destination for error Logger +func (l *Logger) AddErrorLogOutPut(writers ...io.Writer){ + logLock.Lock() + defer logLock.Unlock() + l.errorLog.SetOutput(io.MultiWriter(l.errorLog.Writer(), io.MultiWriter(writers...))) +} + +// AddFatalLogOutPut add output destination for fatal Logger +func (l *Logger) AddFatalLogOutPut(writers ...io.Writer){ + logLock.Lock() + defer logLock.Unlock() + l.fatalLog.SetOutput(io.MultiWriter(l.fatalLog.Writer(), io.MultiWriter(writers...))) +} + +// AddWariningLogOutPut add output destination for all level Logger +func (l *Logger) AddOutPut(writers ...io.Writer){ + l.AddInfoLogOutPut(writers...) + l.AddWariningLogOutPut(writers...) + l.AddErrorLogOutPut(writers...) + l.AddFatalLogOutPut(writers...) +} + // Info is equivalent to the global Info function, guarded by the value of v. func (v Verbose) Info(args ...interface{}) { if v.enabled { From c7c2807391346ec11454368eaa93b560ac08f835 Mon Sep 17 00:00:00 2001 From: dozysun Date: Tue, 15 Sep 2020 10:08:50 +0800 Subject: [PATCH 2/2] Update logger.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit allow users add output for specify level log,fix naming error --- logger.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/logger.go b/logger.go index c7a4752..0230e0b 100644 --- a/logger.go +++ b/logger.go @@ -307,40 +307,40 @@ func (l *Logger) V(lvl Level) Verbose { } } -// AddInfoLogOutPut add output destination for info Logger -func (l *Logger) AddInfoLogOutPut(writers ...io.Writer){ +// AddInfoLogOutput add output destination for info Logger +func (l *Logger) AddInfoLogOutput(writers ...io.Writer){ logLock.Lock() defer logLock.Unlock() l.infoLog.SetOutput(io.MultiWriter(l.infoLog.Writer(), io.MultiWriter(writers...))) } -// AddWariningLogOutPut add output destination for warining Logger -func (l *Logger) AddWariningLogOutPut(writers ...io.Writer){ +// AddWariningLogOutput add output destination for warining Logger +func (l *Logger) AddWariningLogOutput(writers ...io.Writer){ logLock.Lock() defer logLock.Unlock() l.warningLog.SetOutput(io.MultiWriter(l.warningLog.Writer(), io.MultiWriter(writers...))) } -// AddErrorLogOutPut add output destination for error Logger -func (l *Logger) AddErrorLogOutPut(writers ...io.Writer){ +// AddErrorLogOutput add output destination for error Logger +func (l *Logger) AddErrorLogOutput(writers ...io.Writer){ logLock.Lock() defer logLock.Unlock() l.errorLog.SetOutput(io.MultiWriter(l.errorLog.Writer(), io.MultiWriter(writers...))) } -// AddFatalLogOutPut add output destination for fatal Logger -func (l *Logger) AddFatalLogOutPut(writers ...io.Writer){ +// AddFatalLogOutput add output destination for fatal Logger +func (l *Logger) AddFatalLogOutput(writers ...io.Writer){ logLock.Lock() defer logLock.Unlock() l.fatalLog.SetOutput(io.MultiWriter(l.fatalLog.Writer(), io.MultiWriter(writers...))) } -// AddWariningLogOutPut add output destination for all level Logger -func (l *Logger) AddOutPut(writers ...io.Writer){ - l.AddInfoLogOutPut(writers...) - l.AddWariningLogOutPut(writers...) - l.AddErrorLogOutPut(writers...) - l.AddFatalLogOutPut(writers...) +// AddOutput add output destination for all level Logger +func (l *Logger) AddOutput(writers ...io.Writer){ + l.AddInfoLogOutput(writers...) + l.AddWariningLogOutput(writers...) + l.AddErrorLogOutput(writers...) + l.AddFatalLogOutput(writers...) } // Info is equivalent to the global Info function, guarded by the value of v.