로거 정리

This commit is contained in:
2023-06-13 23:49:37 +09:00
parent 43da9424f0
commit 4cec01609a

View File

@ -1,19 +1,24 @@
package shared package shared
import ( import (
"io"
"log" "log"
"os" "os"
"path" "path"
) )
var defLogger *log.Logger var defLogger *log.Logger
var defCloser func()
func InitLogger() { func InitLogger() {
name, _ := os.Executable() name, _ := os.Executable()
base := path.Base(name) base := path.Base(name)
logfile, _ := os.OpenFile(base+".log", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666) 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 { func Logger() *log.Logger {
@ -21,8 +26,7 @@ func Logger() *log.Logger {
} }
func CloseLogger() { func CloseLogger() {
outfile := defLogger.Writer().(*os.File) if defCloser != nil {
if outfile != nil { defCloser()
outfile.Close()
} }
} }