package logger import ( "os" "github.com/gin-gonic/gin" log "github.com/sirupsen/logrus" "github.com/spf13/viper" ) 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) } if DebugMode == true { gin.SetMode(gin.DebugMode) log.SetLevel(log.DebugLevel) } else { gin.SetMode(gin.ReleaseMode) } }