You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
package util
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"log"
|
|
"os"
|
|
"path"
|
|
"time"
|
|
)
|
|
|
|
// 日志打印
|
|
var LoggerObj *logrus.Logger
|
|
|
|
func init() {
|
|
src, _ := setOutPutFile()
|
|
if LoggerObj != nil {
|
|
LoggerObj.Out = src
|
|
return
|
|
}
|
|
//实例化
|
|
logger := logrus.New()
|
|
logger.Out = src //设置输出
|
|
logger.SetLevel(logrus.DebugLevel) //设置日志级别
|
|
logger.SetFormatter(&logrus.TextFormatter{
|
|
TimestampFormat: "2006-01-02 15:04:05",
|
|
})
|
|
LoggerObj = logger
|
|
}
|
|
|
|
func setOutPutFile() (*os.File, error) {
|
|
now := time.Now()
|
|
logFilePath := ""
|
|
if dir, err := os.Getwd(); err == nil { //工作目录下
|
|
logFilePath = dir + "/logs/"
|
|
}
|
|
_, err := os.Stat(logFilePath)
|
|
if os.IsNotExist(err) {
|
|
if err = os.MkdirAll(logFilePath, 0777); err != nil {
|
|
log.Println(err.Error())
|
|
return nil, err
|
|
}
|
|
}
|
|
logFileName := now.Format("2006-1-02") + ".log"
|
|
//日志文件
|
|
fileName := path.Join(logFilePath, logFileName)
|
|
_, err = os.Stat(fileName)
|
|
if os.IsNotExist(err) {
|
|
if err = os.MkdirAll(fileName, 0777); err != nil {
|
|
log.Println(err.Error())
|
|
return nil, err
|
|
}
|
|
}
|
|
// 写入文件
|
|
src, err := os.OpenFile(fileName, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return src, nil
|
|
}
|