You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
691 B
41 lines
691 B
3 years ago
|
package log
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
// Fields slice field.
|
||
|
type Fields []Field
|
||
|
|
||
|
// String implement stringer.
|
||
|
func (f Fields) String() string {
|
||
|
str := make([]string, len(f))
|
||
|
for i, field := range f {
|
||
|
str[i] = field.String()
|
||
|
}
|
||
|
|
||
|
return strings.Join(str, " ")
|
||
|
}
|
||
|
|
||
|
// NewField create field.
|
||
|
func NewField(key string, value interface{}) Field {
|
||
|
return Field{Key: key, Value: value}
|
||
|
}
|
||
|
|
||
|
// Field struct.
|
||
|
type Field struct {
|
||
|
Key string
|
||
|
Value interface{}
|
||
|
}
|
||
|
|
||
|
// String implent stringer.
|
||
|
func (f Field) String() string {
|
||
|
return fmt.Sprintf("%s=%+v", f.Key, f.Value)
|
||
|
}
|
||
|
|
||
|
// FieldError new errors field with key error.
|
||
|
func FieldError(err error) Field {
|
||
|
return NewField("error", err)
|
||
|
}
|