console.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package console
  2. import (
  3. "fmt"
  4. "github.com/logrusorgru/aurora"
  5. )
  6. type (
  7. Console interface {
  8. Success(format string, a ...interface{})
  9. Warning(format string, a ...interface{})
  10. Error(format string, a ...interface{})
  11. }
  12. colorConsole struct {
  13. }
  14. // for idea log
  15. ideaConsole struct {
  16. }
  17. )
  18. func NewConsole(idea bool) Console {
  19. if idea {
  20. return NewIdeaConsole()
  21. }
  22. return NewColorConsole()
  23. }
  24. func NewColorConsole() *colorConsole {
  25. return &colorConsole{}
  26. }
  27. func (c *colorConsole) Success(format string, a ...interface{}) {
  28. msg := fmt.Sprintf(format, a...)
  29. fmt.Println(aurora.Green(msg))
  30. }
  31. func (c *colorConsole) Warning(format string, a ...interface{}) {
  32. msg := fmt.Sprintf(format, a...)
  33. fmt.Println(aurora.Yellow(msg))
  34. }
  35. func (c *colorConsole) Error(format string, a ...interface{}) {
  36. msg := fmt.Sprintf(format, a...)
  37. fmt.Println(aurora.Red(msg))
  38. }
  39. func NewIdeaConsole() *ideaConsole {
  40. return &ideaConsole{}
  41. }
  42. func (i *ideaConsole) Success(format string, a ...interface{}) {
  43. msg := fmt.Sprintf(format, a...)
  44. fmt.Println("[SUCCESS]: ", msg)
  45. }
  46. func (i *ideaConsole) Warning(format string, a ...interface{}) {
  47. msg := fmt.Sprintf(format, a...)
  48. fmt.Println("[WARNING]: ", msg)
  49. }
  50. func (i *ideaConsole) Error(format string, a ...interface{}) {
  51. msg := fmt.Sprintf(format, a...)
  52. fmt.Println("[ERROR]: ", msg)
  53. }