33 lines
517 B
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),
|
||
|
}
|
||
|
}
|