51 lines
958 B
Go
51 lines
958 B
Go
package logs
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func InitLog(cliLogLevel string) *log.Logger {
|
|
|
|
// log instance for gin server
|
|
log := logrus.New()
|
|
log.SetFormatter(&LogTextFormatter{})
|
|
|
|
if cliLogLevel == "" {
|
|
cliLogLevel = os.Getenv("LOG_LEVEL")
|
|
}
|
|
|
|
var logLevel logrus.Level
|
|
switch cliLogLevel {
|
|
case "debug":
|
|
logLevel = logrus.DebugLevel
|
|
case "info":
|
|
logLevel = logrus.InfoLevel
|
|
case "warn":
|
|
logLevel = logrus.WarnLevel
|
|
case "error":
|
|
logLevel = logrus.ErrorLevel
|
|
case "fatal":
|
|
logLevel = logrus.FatalLevel
|
|
case "panic":
|
|
logLevel = logrus.PanicLevel
|
|
default:
|
|
logLevel = logrus.InfoLevel
|
|
}
|
|
// set log level globally
|
|
logrus.SetLevel(logLevel)
|
|
|
|
// set log level for go-gin middleware
|
|
log.SetLevel(logLevel)
|
|
|
|
// show file path in log for debug or other log levels.
|
|
if logLevel != logrus.InfoLevel {
|
|
logrus.SetReportCaller(true)
|
|
log.SetReportCaller(true)
|
|
}
|
|
|
|
return log
|
|
}
|