log_test.go 1.0 KB

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