logger.go 837 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package myth
  2. import (
  3. "io"
  4. "log"
  5. )
  6. // Logger logger
  7. type Logger struct {
  8. logger *log.Logger
  9. }
  10. // NewLogger new logger
  11. func NewLogger(out io.Writer) *Logger {
  12. logger := log.New(out, "[INFO]", log.Ldate|log.Ltime)
  13. return &Logger{logger: logger}
  14. }
  15. // Info log info
  16. func (l *Logger) Info(v ...interface{}) {
  17. l.logger.SetPrefix("[INFO]")
  18. l.logger.Println(v...)
  19. }
  20. // Debug log debug
  21. func (l *Logger) Debug(v ...interface{}) {
  22. l.logger.SetPrefix("[DEBUG]")
  23. l.logger.Println(v...)
  24. }
  25. // Warn log Warn
  26. func (l *Logger) Warn(v ...interface{}) {
  27. l.logger.SetPrefix("[Warn]")
  28. l.logger.Println(v...)
  29. }
  30. // Err log Err
  31. func (l *Logger) Err(v ...interface{}) {
  32. l.logger.SetPrefix("[Err]")
  33. l.logger.Println(v...)
  34. }
  35. // Alert log Alert
  36. func (l *Logger) Alert(v ...interface{}) {
  37. l.logger.SetPrefix("[Alert]")
  38. l.logger.Println(v...)
  39. }