/
logger.go
52 lines (40 loc) · 1.11 KB
/
logger.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package utils
import (
"fmt"
"io"
"log"
"os"
"github.com/fishjar/gin-rest-boilerplate/config"
"github.com/gin-gonic/gin"
)
// logger 定义日志记录器
type logger struct {
Debug *log.Logger
Info *log.Logger
Warning *log.Logger
Error *log.Logger
}
// Log 日志记录器
var Log logger
// LogFile 日志文件
var LogFile *os.File
func init() {
// 测试环境
logPath := os.Getenv("GOPATH") + config.LogPath
LogFile, err := os.Create(logPath)
// 生产环境不必每次都新建文件,打开即可
// LogFile, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
panic("创建日志文件失败")
}
fmt.Println("日志文件:", logPath)
Log.Debug = log.New(LogFile, "[Debug]", log.LstdFlags)
Log.Info = log.New(LogFile, "[Info]", log.LstdFlags)
Log.Warning = log.New(LogFile, "[Warning]", log.LstdFlags)
Log.Error = log.New(LogFile, "[Error]", log.LstdFlags)
// 配置gin的log
// 测试环境
gin.DefaultWriter = io.MultiWriter(LogFile, os.Stdout)
// 生产环境不需要打印到命令行
// gin.DefaultWriter = io.MultiWriter(LogFile)
}