log.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package utils
  2. import (
  3. "github.com/antonfisher/nested-logrus-formatter"
  4. "github.com/sirupsen/logrus"
  5. "manchong"
  6. "os"
  7. "strings"
  8. )
  9. func NewLogger(leve logrus.Level) *logrus.Logger {
  10. logger := logrus.New()
  11. logger.SetLevel(leve)
  12. //logger.ReportCaller=true
  13. logger.SetFormatter(&formatter.Formatter{
  14. TimestampFormat: "2006-01-02 15:04:05",
  15. HideKeys: false,
  16. NoColors: true,
  17. CallerFirst: true,
  18. })
  19. logger.SetOutput(os.Stdout)
  20. return logger
  21. }
  22. var logger = NewLogger(logrus.DebugLevel)
  23. func DefaultLogger() *logrus.Logger {
  24. return logger
  25. }
  26. func init() {
  27. manchong.RegisterReloadConfigCall(func() {
  28. leve, err := logrus.ParseLevel(strings.ToLower(manchong.CFG.LogLeve))
  29. if err != nil {
  30. leve = logrus.InfoLevel
  31. }
  32. logger.SetLevel(leve)
  33. file, err := os.OpenFile(manchong.CFG.LogFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
  34. if err != nil {
  35. logger.Errorf("OpenFile Error:%s", err.Error())
  36. }
  37. temp := logger.Out
  38. f, ok := temp.(*os.File)
  39. logger.SetOutput(file)
  40. if ok {
  41. _ = f.Close()
  42. }
  43. })
  44. }