logger/logger.go

44 lines
843 B
Go
Raw Normal View History

2021-03-30 03:27:40 +00:00
package logger
import (
"fmt"
"go/build"
"os"
"sync"
"github.com/sirupsen/logrus"
)
var once sync.Once
var instance *logrus.Logger
2021-07-08 02:01:44 +00:00
func Get(logfile string) logrus.Logger {
2021-03-30 03:27:40 +00:00
// once.Do(func() {
// instance = initializeLogger()
// })
2021-07-08 02:01:44 +00:00
initLogger(logfile)
2021-03-30 03:27:40 +00:00
return *instance
}
2021-07-08 02:01:44 +00:00
func initLogger(logFile string) {
2021-03-30 03:27:40 +00:00
log := logrus.New()
path := build.Default.GOPATH + "/log/"
if _, err := os.Stat(path); os.IsNotExist(err) {
os.Mkdir(path, os.ModeDir)
}
var logpath = path + logFile
fmt.Println(logpath)
f, err := os.OpenFile(logpath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
Formatter := new(logrus.TextFormatter)
Formatter.TimestampFormat = "02-01-2006 15:04:05"
Formatter.FullTimestamp = true
log.SetFormatter(Formatter)
if err != nil {
fmt.Println(err)
} else {
log.SetOutput(f)
}
instance = log
//return *log
}