console.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package console
  2. import (
  3. "fmt"
  4. "os"
  5. "github.com/logrusorgru/aurora"
  6. )
  7. type (
  8. Console interface {
  9. Success(format string, a ...interface{})
  10. Info(format string, a ...interface{})
  11. Warning(format string, a ...interface{})
  12. Error(format string, a ...interface{})
  13. Fatalln(format string, a ...interface{})
  14. Must(err error)
  15. }
  16. colorConsole struct {
  17. }
  18. // for idea log
  19. ideaConsole struct {
  20. }
  21. )
  22. func NewConsole(idea bool) Console {
  23. if idea {
  24. return NewIdeaConsole()
  25. }
  26. return NewColorConsole()
  27. }
  28. func NewColorConsole() *colorConsole {
  29. return &colorConsole{}
  30. }
  31. func (c *colorConsole) Info(format string, a ...interface{}) {
  32. msg := fmt.Sprintf(format, a...)
  33. fmt.Println(msg)
  34. }
  35. func (c *colorConsole) Success(format string, a ...interface{}) {
  36. msg := fmt.Sprintf(format, a...)
  37. fmt.Println(aurora.Green(msg))
  38. }
  39. func (c *colorConsole) Warning(format string, a ...interface{}) {
  40. msg := fmt.Sprintf(format, a...)
  41. fmt.Println(aurora.Yellow(msg))
  42. }
  43. func (c *colorConsole) Error(format string, a ...interface{}) {
  44. msg := fmt.Sprintf(format, a...)
  45. fmt.Println(aurora.Red(msg))
  46. }
  47. func (c *colorConsole) Fatalln(format string, a ...interface{}) {
  48. c.Error(format, a...)
  49. os.Exit(1)
  50. }
  51. func (c *colorConsole) Must(err error) {
  52. if err != nil {
  53. c.Fatalln("%+v", err)
  54. }
  55. }
  56. func NewIdeaConsole() *ideaConsole {
  57. return &ideaConsole{}
  58. }
  59. func (i *ideaConsole) Info(format string, a ...interface{}) {
  60. msg := fmt.Sprintf(format, a...)
  61. fmt.Println(msg)
  62. }
  63. func (i *ideaConsole) Success(format string, a ...interface{}) {
  64. msg := fmt.Sprintf(format, a...)
  65. fmt.Println("[SUCCESS]: ", msg)
  66. }
  67. func (i *ideaConsole) Warning(format string, a ...interface{}) {
  68. msg := fmt.Sprintf(format, a...)
  69. fmt.Println("[WARNING]: ", msg)
  70. }
  71. func (i *ideaConsole) Error(format string, a ...interface{}) {
  72. msg := fmt.Sprintf(format, a...)
  73. fmt.Println("[ERROR]: ", msg)
  74. }
  75. func (i *ideaConsole) Fatalln(format string, a ...interface{}) {
  76. i.Error(format, a...)
  77. os.Exit(1)
  78. }
  79. func (i *ideaConsole) Must(err error) {
  80. if err != nil {
  81. i.Fatalln("%+v", err)
  82. }
  83. }