Browse Source

migrate to new severity def

Darien Raymond 8 years ago
parent
commit
742d9d25d1
3 changed files with 24 additions and 31 deletions
  1. 6 5
      app/log/log.go
  2. 13 22
      common/errors/errors.go
  3. 5 4
      common/errors/errors_test.go

+ 6 - 5
app/log/log.go

@@ -9,6 +9,7 @@ import (
 	"v2ray.com/core/app/log/internal"
 	"v2ray.com/core/app/log/internal"
 	"v2ray.com/core/common"
 	"v2ray.com/core/common"
 	"v2ray.com/core/common/errors"
 	"v2ray.com/core/common/errors"
+	"v2ray.com/core/common/log"
 )
 )
 
 
 var (
 var (
@@ -51,15 +52,15 @@ func InitErrorLogger(file string) error {
 	return nil
 	return nil
 }
 }
 
 
-func getLoggerAndPrefix(s errors.Severity) (internal.LogWriter, string) {
+func getLoggerAndPrefix(s log.Severity) (internal.LogWriter, string) {
 	switch s {
 	switch s {
-	case errors.SeverityDebug:
+	case log.Severity_Debug:
 		return debugLogger, "[Debug]"
 		return debugLogger, "[Debug]"
-	case errors.SeverityInfo:
+	case log.Severity_Info:
 		return infoLogger, "[Info]"
 		return infoLogger, "[Info]"
-	case errors.SeverityWarning:
+	case log.Severity_Warning:
 		return warningLogger, "[Warning]"
 		return warningLogger, "[Warning]"
-	case errors.SeverityError:
+	case log.Severity_Error:
 		return errorLogger, "[Error]"
 		return errorLogger, "[Error]"
 	default:
 	default:
 		return infoLogger, "[Info]"
 		return infoLogger, "[Info]"

+ 13 - 22
common/errors/errors.go

@@ -4,33 +4,24 @@ package errors
 import (
 import (
 	"strings"
 	"strings"
 
 
+	"v2ray.com/core/common/log"
 	"v2ray.com/core/common/serial"
 	"v2ray.com/core/common/serial"
 )
 )
 
 
-// Severity describes how severe the error is.
-type Severity int
-
-const (
-	SeverityDebug Severity = iota
-	SeverityInfo
-	SeverityWarning
-	SeverityError
-)
-
 type hasInnerError interface {
 type hasInnerError interface {
 	// Inner returns the underlying error of this one.
 	// Inner returns the underlying error of this one.
 	Inner() error
 	Inner() error
 }
 }
 
 
 type hasSeverity interface {
 type hasSeverity interface {
-	Severity() Severity
+	Severity() log.Severity
 }
 }
 
 
 // Error is an error object with underlying error.
 // Error is an error object with underlying error.
 type Error struct {
 type Error struct {
 	message  []interface{}
 	message  []interface{}
 	inner    error
 	inner    error
-	severity Severity
+	severity log.Severity
 	path     []string
 	path     []string
 }
 }
 
 
@@ -59,19 +50,19 @@ func (v *Error) Base(err error) *Error {
 	return v
 	return v
 }
 }
 
 
-func (v *Error) atSeverity(s Severity) *Error {
+func (v *Error) atSeverity(s log.Severity) *Error {
 	v.severity = s
 	v.severity = s
 	return v
 	return v
 }
 }
 
 
-func (v *Error) Severity() Severity {
+func (v *Error) Severity() log.Severity {
 	if v.inner == nil {
 	if v.inner == nil {
 		return v.severity
 		return v.severity
 	}
 	}
 
 
 	if s, ok := v.inner.(hasSeverity); ok {
 	if s, ok := v.inner.(hasSeverity); ok {
 		as := s.Severity()
 		as := s.Severity()
-		if as > v.severity {
+		if as < v.severity {
 			return as
 			return as
 		}
 		}
 	}
 	}
@@ -81,22 +72,22 @@ func (v *Error) Severity() Severity {
 
 
 // AtDebug sets the severity to debug.
 // AtDebug sets the severity to debug.
 func (v *Error) AtDebug() *Error {
 func (v *Error) AtDebug() *Error {
-	return v.atSeverity(SeverityDebug)
+	return v.atSeverity(log.Severity_Debug)
 }
 }
 
 
 // AtInfo sets the severity to info.
 // AtInfo sets the severity to info.
 func (v *Error) AtInfo() *Error {
 func (v *Error) AtInfo() *Error {
-	return v.atSeverity(SeverityInfo)
+	return v.atSeverity(log.Severity_Info)
 }
 }
 
 
 // AtWarning sets the severity to warning.
 // AtWarning sets the severity to warning.
 func (v *Error) AtWarning() *Error {
 func (v *Error) AtWarning() *Error {
-	return v.atSeverity(SeverityWarning)
+	return v.atSeverity(log.Severity_Warning)
 }
 }
 
 
 // AtError sets the severity to error.
 // AtError sets the severity to error.
 func (v *Error) AtError() *Error {
 func (v *Error) AtError() *Error {
-	return v.atSeverity(SeverityError)
+	return v.atSeverity(log.Severity_Error)
 }
 }
 
 
 // Path sets the path to the location where this error happens.
 // Path sets the path to the location where this error happens.
@@ -109,7 +100,7 @@ func (v *Error) Path(path ...string) *Error {
 func New(msg ...interface{}) *Error {
 func New(msg ...interface{}) *Error {
 	return &Error{
 	return &Error{
 		message:  msg,
 		message:  msg,
-		severity: SeverityInfo,
+		severity: log.Severity_Info,
 	}
 	}
 }
 }
 
 
@@ -128,9 +119,9 @@ func Cause(err error) error {
 	return err
 	return err
 }
 }
 
 
-func GetSeverity(err error) Severity {
+func GetSeverity(err error) log.Severity {
 	if s, ok := err.(hasSeverity); ok {
 	if s, ok := err.(hasSeverity); ok {
 		return s.Severity()
 		return s.Severity()
 	}
 	}
-	return SeverityInfo
+	return log.Severity_Info
 }
 }

+ 5 - 4
common/errors/errors_test.go

@@ -5,6 +5,7 @@ import (
 	"testing"
 	"testing"
 
 
 	. "v2ray.com/core/common/errors"
 	. "v2ray.com/core/common/errors"
+	"v2ray.com/core/common/log"
 	. "v2ray.com/ext/assert"
 	. "v2ray.com/ext/assert"
 )
 )
 
 
@@ -12,17 +13,17 @@ func TestError(t *testing.T) {
 	assert := With(t)
 	assert := With(t)
 
 
 	err := New("TestError")
 	err := New("TestError")
-	assert(GetSeverity(err), Equals, SeverityInfo)
+	assert(GetSeverity(err), Equals, log.Severity_Info)
 
 
 	err = New("TestError2").Base(io.EOF)
 	err = New("TestError2").Base(io.EOF)
-	assert(GetSeverity(err), Equals, SeverityInfo)
+	assert(GetSeverity(err), Equals, log.Severity_Info)
 
 
 	err = New("TestError3").Base(io.EOF).AtWarning()
 	err = New("TestError3").Base(io.EOF).AtWarning()
-	assert(GetSeverity(err), Equals, SeverityWarning)
+	assert(GetSeverity(err), Equals, log.Severity_Warning)
 
 
 	err = New("TestError4").Base(io.EOF).AtWarning()
 	err = New("TestError4").Base(io.EOF).AtWarning()
 	err = New("TestError5").Base(err)
 	err = New("TestError5").Base(err)
-	assert(GetSeverity(err), Equals, SeverityWarning)
+	assert(GetSeverity(err), Equals, log.Severity_Warning)
 	assert(err.Error(), HasSubstring, "EOF")
 	assert(err.Error(), HasSubstring, "EOF")
 }
 }