44 lines
843 B
Go
44 lines
843 B
Go
package logger
|
|
|
|
import (
|
|
"fmt"
|
|
"go/build"
|
|
"os"
|
|
"sync"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
var once sync.Once
|
|
var instance *logrus.Logger
|
|
|
|
func Get(logfile string) logrus.Logger {
|
|
// once.Do(func() {
|
|
// instance = initializeLogger()
|
|
// })
|
|
initLogger(logfile)
|
|
return *instance
|
|
}
|
|
|
|
func initLogger(logFile string) {
|
|
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
|
|
}
|