Log.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package log
  2. import (
  3. "github.com/sirupsen/logrus"
  4. "io/ioutil"
  5. )
  6. type Level string
  7. const (
  8. DebugLevel Level = "DEBUG"
  9. InfoLevel Level = "INFO"
  10. WarnLevel Level = "WARN"
  11. ErrorLevel Level = "ERROR"
  12. )
  13. var logger *logrus.Logger = nil
  14. func init() {
  15. logger = logrus.New()
  16. logger.SetFormatter(&LineFormatter{
  17. Skip: 10,
  18. })
  19. logger.SetLevel(logrus.DebugLevel)
  20. return
  21. }
  22. // -------------------config----------------------
  23. func SetLevel(level Level) {
  24. lvl, _ := logrus.ParseLevel(string(level))
  25. logger.SetLevel(lvl)
  26. }
  27. func ConsoleOff() {
  28. logger.SetOutput(ioutil.Discard)
  29. }
  30. func AddRotateHook(path string, day uint, pass bool) {
  31. for level := logger.GetLevel(); level >= logrus.ErrorLevel; level-- {
  32. logger.AddHook(NewRotateHook(level, path, day, pass))
  33. }
  34. }
  35. // -------------------print----------------------
  36. func Debug(str string, args ...interface{}) {
  37. logger.Debugf(str, args...)
  38. }
  39. func Info(str string, args ...interface{}) {
  40. logger.Infof(str, args...)
  41. }
  42. func Warn(str string, args ...interface{}) {
  43. logger.Warnf(str, args...)
  44. }
  45. func Error(str string, args ...interface{}) {
  46. logger.Errorf(str, args...)
  47. }