logger_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package core
  2. import (
  3. "bytes"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestLogger(t *testing.T) {
  8. var (
  9. f = "%s-%s"
  10. v = []interface{}{"hello", "world"}
  11. l = NewLogger()
  12. iBuf bytes.Buffer
  13. wBuf bytes.Buffer
  14. eBuf bytes.Buffer
  15. )
  16. // capture output
  17. l.I.SetOutput(&iBuf)
  18. l.W.SetOutput(&wBuf)
  19. l.E.SetOutput(&eBuf)
  20. l.Info(v...)
  21. assert.Contains(t, iBuf.String(), "[INFO]")
  22. iBuf.Reset()
  23. l.Infof(f, v...)
  24. assert.Contains(t, iBuf.String(), "[INFO]")
  25. assert.Contains(t, iBuf.String(), "-")
  26. iBuf.Reset()
  27. l.Warn(v...)
  28. assert.Contains(t, wBuf.String(), "[WARN]")
  29. wBuf.Reset()
  30. l.Warnf(f, v...)
  31. assert.Contains(t, wBuf.String(), "[WARN]")
  32. assert.Contains(t, wBuf.String(), "-")
  33. wBuf.Reset()
  34. l.Error(v...)
  35. assert.Contains(t, eBuf.String(), "[ERROR]")
  36. eBuf.Reset()
  37. l.Errorf(f, v...)
  38. assert.Contains(t, eBuf.String(), "[ERROR]")
  39. assert.Contains(t, eBuf.String(), "-")
  40. eBuf.Reset()
  41. l.Critical(v...)
  42. assert.Contains(t, eBuf.String(), "[ERROR]")
  43. assert.Contains(t, eBuf.String(), "internal/core.TestLogger")
  44. assert.Contains(t, eBuf.String(), "internal/core/logger_test.go:53")
  45. eBuf.Reset()
  46. l.Criticalf(f, v...)
  47. assert.Contains(t, eBuf.String(), "[ERROR]")
  48. assert.Contains(t, eBuf.String(), "-")
  49. assert.Contains(t, eBuf.String(), "internal/core.TestLogger")
  50. assert.Contains(t, eBuf.String(), "internal/core/logger_test.go:59")
  51. println(eBuf.String())
  52. eBuf.Reset()
  53. }