log_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package log
  2. import (
  3. "bytes"
  4. "log"
  5. "testing"
  6. "github.com/v2ray/v2ray-core/common/serial"
  7. "github.com/v2ray/v2ray-core/common/platform"
  8. v2testing "github.com/v2ray/v2ray-core/testing"
  9. "github.com/v2ray/v2ray-core/testing/assert"
  10. )
  11. func TestLogLevelSetting(t *testing.T) {
  12. v2testing.Current(t)
  13. assert.Pointer(debugLogger).Equals(noOpLoggerInstance)
  14. SetLogLevel(DebugLevel)
  15. assert.Pointer(debugLogger).Equals(streamLoggerInstance)
  16. SetLogLevel(InfoLevel)
  17. assert.Pointer(debugLogger).Equals(noOpLoggerInstance)
  18. assert.Pointer(infoLogger).Equals(streamLoggerInstance)
  19. }
  20. func TestStreamLogger(t *testing.T) {
  21. v2testing.Current(t)
  22. buffer := bytes.NewBuffer(make([]byte, 0, 1024))
  23. infoLogger = &stdOutLogWriter{
  24. logger: log.New(buffer, "", 0),
  25. }
  26. Info("Test ", "Stream Logger", " Format")
  27. assert.StringLiteral(string(buffer.Bytes())).Equals("[Info]Test Stream Logger Format" + platform.LineSeparator())
  28. buffer.Reset()
  29. errorLogger = infoLogger
  30. Error("Test ", serial.StringLiteral("literal"), " Format")
  31. assert.StringLiteral(string(buffer.Bytes())).Equals("[Error]Test literal Format" + platform.LineSeparator())
  32. }