로거 정리
This commit is contained in:
@ -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()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user