diff --git a/shared/logger.go b/shared/logger.go index 2e35f10..1b7ea1b 100644 --- a/shared/logger.go +++ b/shared/logger.go @@ -1,19 +1,24 @@ package shared import ( + "io" "log" "os" "path" ) var defLogger *log.Logger +var defCloser func() func InitLogger() { name, _ := os.Executable() base := path.Base(name) logfile, _ := os.OpenFile(base+".log", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666) - defLogger = log.New(logfile, "", log.LstdFlags) + defCloser = func() { + logfile.Close() + } + defLogger = log.New(io.MultiWriter(logfile, os.Stdout), "", log.LstdFlags) } func Logger() *log.Logger { @@ -21,8 +26,7 @@ func Logger() *log.Logger { } func CloseLogger() { - outfile := defLogger.Writer().(*os.File) - if outfile != nil { - outfile.Close() + if defCloser != nil { + defCloser() } }