|
@@ -31,6 +31,11 @@ const (
|
|
|
FATAL = 5
|
|
|
)
|
|
|
|
|
|
+// Stringer interface
|
|
|
+type Stringer interface {
|
|
|
+ LogString() string
|
|
|
+}
|
|
|
+
|
|
|
// Init logger
|
|
|
func Init(plevel int) {
|
|
|
level = plevel
|
|
@@ -45,10 +50,12 @@ func dump(a ...interface{}) []interface{} {
|
|
|
for ai, av := range a {
|
|
|
if avf, ok := av.(func() string); ok {
|
|
|
a[ai] = avf()
|
|
|
- } else if avf, ok := av.(fmt.Stringer); ok {
|
|
|
- a[ai] = avf.String()
|
|
|
+ } else if avf, ok := av.(Stringer); ok {
|
|
|
+ a[ai] = avf.LogString()
|
|
|
} else if avf, ok := av.(fmt.GoStringer); ok {
|
|
|
a[ai] = avf.GoString()
|
|
|
+ } else if avf, ok := av.(fmt.Stringer); ok {
|
|
|
+ a[ai] = avf.String()
|
|
|
}
|
|
|
}
|
|
|
return a
|