12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package c_log
- import (
- "cicv-data-closedloop/common/util"
- "fmt"
- "github.com/sirupsen/logrus"
- "os"
- "path/filepath"
- "runtime"
- "time"
- )
- var GlobalLogger *logrus.Logger
- /* todo 20241113
- 1. 日志名称去掉时间后端,改为,log.1,log.2,log.3
- 2. 控制日志文件大小,比如每写入10M就由log.n换成 log.n+1
- 3. 日志文件删除策略,n天之前的日志则删除
- */
- // 初始化日志配置
- func InitLog(logDir string, prefix string) {
- time.Sleep(time.Duration(1) * time.Second)
- // 创建、追加、读写,777,所有权限
- logPath := logDir + prefix + "-" + time.Now().Format("2006-01-02-15-04-05") + ".log"
- err := util.CreateParentDir(logPath)
- if err != nil {
- os.Exit(-1)
- }
- f, err := os.OpenFile(logPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
- if err != nil {
- os.Exit(-1)
- }
- GlobalLogger = logrus.New()
- GlobalLogger.SetOutput(f)
- GlobalLogger.SetReportCaller(true) // 开启行号显示
- GlobalLogger.SetFormatter(&logrus.JSONFormatter{
- CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
- fileName := filepath.Base(frame.File)
- return "", fmt.Sprintf("%s:%d", fileName, frame.Line)
- },
- })
- GlobalLogger.Info("初始化GlobalLogger - 成功")
- }
|