package utils import ( "github.com/antonfisher/nested-logrus-formatter" "github.com/sirupsen/logrus" "manchong" "os" "strings" ) func NewLogger(leve logrus.Level) *logrus.Logger { logger := logrus.New() logger.SetLevel(leve) //logger.ReportCaller=true logger.SetFormatter(&formatter.Formatter{ TimestampFormat: "2006-01-02 15:04:05", HideKeys: false, NoColors: true, CallerFirst: true, }) logger.SetOutput(os.Stdout) return logger } var logger = NewLogger(logrus.DebugLevel) func DefaultLogger() *logrus.Logger { return logger } func init() { manchong.RegisterReloadConfigCall(func() { leve, err := logrus.ParseLevel(strings.ToLower(manchong.CFG.LogLeve)) if err != nil { leve = logrus.InfoLevel } logger.SetLevel(leve) file, err := os.OpenFile(manchong.CFG.LogFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600) if err != nil { logger.Errorf("OpenFile Error:%s", err.Error()) } temp := logger.Out f, ok := temp.(*os.File) logger.SetOutput(file) if ok { _ = f.Close() } }) }