forked from mirror/logrus
Implement WithError(err) in exported, fixed doco.
This commit is contained in:
parent
c24d0555d7
commit
e3e5de11c4
4
entry.go
4
entry.go
|
@ -8,7 +8,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Defines the key when adding error using WithError.
|
// Defines the key when adding errors using WithError.
|
||||||
var ErrorKey = "error"
|
var ErrorKey = "error"
|
||||||
|
|
||||||
// An entry is the final or intermediate Logrus logging entry. It contains all
|
// An entry is the final or intermediate Logrus logging entry. It contains all
|
||||||
|
@ -56,7 +56,7 @@ func (entry *Entry) String() (string, error) {
|
||||||
return reader.String(), err
|
return reader.String(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add an error as single field (with key "error") to the Entry.
|
// Add an error as single field (using the key defined in ErrorKey) to the Entry.
|
||||||
func (entry *Entry) WithError(err error) *Entry {
|
func (entry *Entry) WithError(err error) *Entry {
|
||||||
return entry.WithField(ErrorKey, err)
|
return entry.WithField(ErrorKey, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,16 +10,25 @@ import (
|
||||||
|
|
||||||
func TestEntryWithError(t *testing.T) {
|
func TestEntryWithError(t *testing.T) {
|
||||||
|
|
||||||
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
ErrorKey = "error"
|
||||||
|
}()
|
||||||
|
|
||||||
err := fmt.Errorf("kaboom at layer %d", 4711)
|
err := fmt.Errorf("kaboom at layer %d", 4711)
|
||||||
|
|
||||||
|
assert.Equal(err, WithError(err).Data["error"])
|
||||||
|
|
||||||
logger := New()
|
logger := New()
|
||||||
logger.Out = &bytes.Buffer{}
|
logger.Out = &bytes.Buffer{}
|
||||||
entry := NewEntry(logger)
|
entry := NewEntry(logger)
|
||||||
|
|
||||||
assert.Equal(t, err, entry.WithError(err).Data["error"])
|
assert.Equal(err, entry.WithError(err).Data["error"])
|
||||||
|
|
||||||
ErrorKey = "err"
|
ErrorKey = "err"
|
||||||
assert.Equal(t, err, entry.WithError(err).Data["err"])
|
|
||||||
|
assert.Equal(err, entry.WithError(err).Data["err"])
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,11 @@ func AddHook(hook Hook) {
|
||||||
std.Hooks.Add(hook)
|
std.Hooks.Add(hook)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key.
|
||||||
|
func WithError(err error) *Entry {
|
||||||
|
return std.WithField(ErrorKey, err)
|
||||||
|
}
|
||||||
|
|
||||||
// WithField creates an entry from the standard logger and adds a field to
|
// WithField creates an entry from the standard logger and adds a field to
|
||||||
// it. If you want multiple fields, use `WithFields`.
|
// it. If you want multiple fields, use `WithFields`.
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue