1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-01-04 16:25:21 -05:00

migrate to new severity def

This commit is contained in:
Darien Raymond
2017-12-10 23:33:23 +01:00
parent 4146590d52
commit 742d9d25d1
3 changed files with 24 additions and 31 deletions

View File

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