From 45e011b06410abdb69c17f2ac5bfbc22aeed5129 Mon Sep 17 00:00:00 2001 From: Manfred Touron Date: Thu, 22 Jun 2017 18:21:13 +0200 Subject: [PATCH] preserve Entry's internal vars when calling Entry.WithFields This way, it's possible to do things like this: trace := log.Trace("test") ret, err := handler() if err != nil { trace = trace.WithFields(...custom fields just in case of error...) } trace.Stop(&err) --- entry.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/entry.go b/entry.go index 9f0a5e1..378d2c4 100644 --- a/entry.go +++ b/entry.go @@ -37,8 +37,10 @@ func (e *Entry) WithFields(fields Fielder) *Entry { f = append(f, e.fields...) f = append(f, fields.Fields()) return &Entry{ - Logger: e.Logger, - fields: f, + Logger: e.Logger, + fields: f, + start: e.start, + Message: e.Message, } }