Envoy/Downloads/GoNetDev-master/Protocols/Utils/GLogger/GLogger.go

33 lines
517 B
Go

package GLogger
import (
"sync"
"log"
"os"
"io"
)
var once sync.Once
var Glogger *GLogger
type GLogger struct {
*log.Logger
filename string
}
func GetInstance() *GLogger {
once.Do(func() {
Glogger = createLogger("/var/log/Gonetdev.log")
})
return Glogger
}
func createLogger(fname string) *GLogger {
file, _ := os.OpenFile(fname,os.O_CREATE | os.O_APPEND | os.O_RDWR, 0666)
mw := io.MultiWriter(os.Stdout, file)
return &GLogger{
filename: fname,
Logger: log.New(mw, "", log.Lshortfile),
}
}