package logger import ( "os" "github.com/sirupsen/logrus" ) var log *logrus.Logger func Init() { log = logrus.New() // 设置日志格式 log.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", FieldMap: logrus.FieldMap{ logrus.FieldKeyTime: "timestamp", logrus.FieldKeyLevel: "level", logrus.FieldKeyMsg: "message", }, }) // 设置日志级别 level := os.Getenv("LOG_LEVEL") if level == "" { level = "info" } switch level { case "debug": log.SetLevel(logrus.DebugLevel) case "info": log.SetLevel(logrus.InfoLevel) case "warn": log.SetLevel(logrus.WarnLevel) case "error": log.SetLevel(logrus.ErrorLevel) default: log.SetLevel(logrus.InfoLevel) } // 设置输出 log.SetOutput(os.Stdout) } func Debug(msg string, fields map[string]interface{}) { if fields == nil { fields = make(map[string]interface{}) } fields["service"] = "clash-speed-test" log.WithFields(fields).Debug(msg) } func Info(msg string, fields map[string]interface{}) { if fields == nil { fields = make(map[string]interface{}) } fields["service"] = "clash-speed-test" log.WithFields(fields).Info(msg) } func Warn(msg string, fields map[string]interface{}) { if fields == nil { fields = make(map[string]interface{}) } fields["service"] = "clash-speed-test" log.WithFields(fields).Warn(msg) } func Error(msg string, fields map[string]interface{}) { if fields == nil { fields = make(map[string]interface{}) } fields["service"] = "clash-speed-test" log.WithFields(fields).Error(msg) } func Fatal(msg string, fields map[string]interface{}) { if fields == nil { fields = make(map[string]interface{}) } fields["service"] = "clash-speed-test" log.WithFields(fields).Fatal(msg) }