Files
cms-server/logger/logrus.go
2026-01-21 09:25:10 +08:00

47 lines
862 B
Go

package logger
import (
"io"
"os"
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
)
func Init() {
levelStr := os.Getenv("LOG_LEVEL")
level, err := logrus.ParseLevel(levelStr)
if err != nil {
level = logrus.InfoLevel
}
logrus.SetLevel(level)
if level == logrus.DebugLevel {
gin.SetMode(gin.DebugMode)
} else {
gin.SetMode(gin.ReleaseMode)
gin.DisableConsoleColor()
}
logrus.SetFormatter(&logrus.JSONFormatter{
TimestampFormat: "2006-01-02 15:04:05",
})
logrus.SetReportCaller(true)
file, err := os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0666)
if err != nil {
logrus.SetOutput(os.Stdout)
logrus.Errorf("Error to create log file: %v", err)
} else {
logrus.SetOutput(io.MultiWriter(os.Stdout, file))
}
logrus.RegisterExitHandler(func() {
if file != nil {
file.Sync()
file.Close()
}
})
}