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

rewrite error lib

This commit is contained in:
Darien Raymond
2016-12-04 09:10:47 +01:00
parent a4019a6900
commit efb24a4d21
65 changed files with 251 additions and 132 deletions

View File

@@ -8,26 +8,6 @@ import (
"v2ray.com/core/common/serial"
)
func InterfaceToString(value interface{}) string {
if value == nil {
return " "
}
switch value := value.(type) {
case string:
return value
case *string:
return *value
case fmt.Stringer:
return value.String()
case error:
return value.Error()
case []byte:
return serial.BytesToHexString(value)
default:
return fmt.Sprintf("%+v", value)
}
}
type LogEntry interface {
common.Releasable
fmt.Stringer
@@ -46,12 +26,7 @@ func (v *ErrorLog) Release() {
}
func (v *ErrorLog) String() string {
values := make([]string, len(v.Values)+1)
values[0] = v.Prefix
for i, value := range v.Values {
values[i+1] = InterfaceToString(value)
}
return strings.Join(values, "")
return v.Prefix + serial.Concat(v.Values...)
}
type AccessLog struct {
@@ -68,5 +43,5 @@ func (v *AccessLog) Release() {
}
func (v *AccessLog) String() string {
return strings.Join([]string{InterfaceToString(v.From), v.Status, InterfaceToString(v.To), InterfaceToString(v.Reason)}, " ")
return strings.Join([]string{serial.ToString(v.From), v.Status, serial.ToString(v.To), serial.ToString(v.Reason)}, " ")
}

View File

@@ -1,7 +1,7 @@
package log
import (
"errors"
"v2ray.com/core/common/errors"
"v2ray.com/core/common/log/internal"
)
@@ -39,7 +39,7 @@ func SetLogLevel(level LogLevel) {
func InitErrorLogger(file string) error {
logger, err := internal.NewFileLogWriter(file)
if err != nil {
return errors.New("Log:Failed to create error logger on file (" + file + "): " + err.Error())
return errors.Base(err).Message("Log: Failed to create error logger on file (", file, ")")
}
streamLoggerInstance = logger
return nil