57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
|
package logger
|
|||
|
|
|||
|
import (
|
|||
|
"fmt"
|
|||
|
"io"
|
|||
|
"mini_server/internal/config"
|
|||
|
"os"
|
|||
|
"time"
|
|||
|
|
|||
|
"github.com/gin-gonic/gin"
|
|||
|
"github.com/sirupsen/logrus"
|
|||
|
"gorm.io/gorm/logger"
|
|||
|
)
|
|||
|
|
|||
|
var GinLogger io.Writer
|
|||
|
var GormLogger logger.Interface
|
|||
|
|
|||
|
func create_file() *os.File {
|
|||
|
f, err := os.OpenFile(config.LogFile, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0644)
|
|||
|
if err != nil {
|
|||
|
fmt.Printf("日志文件打开失败,err:%v", err)
|
|||
|
os.Exit(-1)
|
|||
|
}
|
|||
|
return f
|
|||
|
}
|
|||
|
|
|||
|
func Init_log() {
|
|||
|
|
|||
|
f := create_file()
|
|||
|
// writer := io.MultiWriter(f, os.Stdout)
|
|||
|
writer := io.MultiWriter(f)
|
|||
|
|
|||
|
logrus.SetLevel(config.LogLevel)
|
|||
|
//设置日志格式,使用自定义格式
|
|||
|
logrus.SetFormatter(&MyFormatter{for_server: true})
|
|||
|
// 设置业务日志
|
|||
|
gin.DisableConsoleColor()
|
|||
|
logrus.SetOutput(writer)
|
|||
|
|
|||
|
// 设置GIN日志文件
|
|||
|
GinLogger = io.MultiWriter(writer)
|
|||
|
|
|||
|
gormLogrus := logrus.New()
|
|||
|
gormLogrus.SetFormatter(&MyFormatter{for_gorm: true})
|
|||
|
gormLogrus.SetOutput(writer)
|
|||
|
// 设置GORM日志文件
|
|||
|
GormLogger = NewGormLogger(
|
|||
|
gormLogrus,
|
|||
|
logger.Config{
|
|||
|
SlowThreshold: time.Second, // 慢SQL阈值
|
|||
|
LogLevel: logger.Info,
|
|||
|
Colorful: false, // 禁用彩色打印
|
|||
|
IgnoreRecordNotFoundError: true, // 不打印未查询到的日志
|
|||
|
},
|
|||
|
)
|
|||
|
}
|