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:
@@ -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)}, " ")
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user