log.go 766 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package log
  2. import (
  3. "errors"
  4. "fmt"
  5. "log"
  6. )
  7. const (
  8. DebugLevel = LogLevel(0)
  9. InfoLevel = LogLevel(1)
  10. WarningLevel = LogLevel(2)
  11. ErrorLevel = LogLevel(3)
  12. )
  13. var logLevel = WarningLevel
  14. type LogLevel int
  15. func SetLogLevel(level LogLevel) {
  16. logLevel = level
  17. }
  18. func writeLog(data string, level LogLevel) {
  19. if level < logLevel {
  20. return
  21. }
  22. log.Print(data)
  23. }
  24. func Info(format string, v ...interface{}) {
  25. data := fmt.Sprintf(format, v)
  26. writeLog("[Info]"+data, InfoLevel)
  27. }
  28. func Warning(format string, v ...interface{}) {
  29. data := fmt.Sprintf(format, v)
  30. writeLog("[Warning]"+data, WarningLevel)
  31. }
  32. func Error(format string, v ...interface{}) error {
  33. data := fmt.Sprintf(format, v)
  34. writeLog("[Error]"+data, ErrorLevel)
  35. return errors.New(data)
  36. }