Restruct logger order

Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
2026-01-21 09:25:10 +08:00
parent 3f8f2547be
commit 64392c32c6
5 changed files with 35 additions and 24 deletions

View File

@@ -1,36 +1,46 @@
package logger
import (
"io"
"os"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
"github.com/sirupsen/logrus"
)
func Init() {
FileLogger := viper.GetBool("server.file_logger")
DebugMode := viper.GetBool("server.debug_mode")
if FileLogger == true {
gin.DisableConsoleColor()
file, err := os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0666)
if err != nil {
log.Panicln("Error opening log file: ", err)
}
log.SetFormatter(&log.JSONFormatter{})
log.SetOutput(file)
log.SetLevel(log.DebugLevel)
} else {
log.SetFormatter(&log.JSONFormatter{})
log.SetOutput(os.Stdout)
log.SetLevel(log.WarnLevel)
levelStr := os.Getenv("LOG_LEVEL")
level, err := logrus.ParseLevel(levelStr)
if err != nil {
level = logrus.InfoLevel
}
logrus.SetLevel(level)
if DebugMode == true {
if level == logrus.DebugLevel {
gin.SetMode(gin.DebugMode)
log.SetLevel(log.DebugLevel)
} 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()
}
})
}