type lazyWithCore … // NewLazyWith wraps a Core with a "lazy" Core that will only encode fields if // the logger is written to (or is further chained in a lon-lazy manner). func NewLazyWith(core Core, fields []Field) Core { … } func (d *lazyWithCore) initOnce() { … } func (d *lazyWithCore) With(fields []Field) Core { … } func (d *lazyWithCore) Check(e Entry, ce *CheckedEntry) *CheckedEntry { … }