From 117cb53bc66413d9a810ebed32383e53416347e3 Mon Sep 17 00:00:00 2001 From: adw1n Date: Mon, 7 Jun 2021 12:16:53 +0200 Subject: [PATCH] Fix copying stack setting in logger's Output method (#325) Minimum example to reproduce the problem: ```go package main import ( "os" "github.com/pkg/errors" "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/rs/zerolog/pkgerrors" ) func main() { log.Logger = log.With().Caller().Stack().Logger().Output(zerolog.ConsoleWriter{Out: os.Stderr}) zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack log.Info().Err(errors.New("test")).Send() } ``` Without my changes `stack` isn't printed. --- log.go | 1 + 1 file changed, 1 insertion(+) diff --git a/log.go b/log.go index 6bc6a80..4cb7f29 100644 --- a/log.go +++ b/log.go @@ -223,6 +223,7 @@ func (l Logger) Output(w io.Writer) Logger { l2 := New(w) l2.level = l.level l2.sampler = l.sampler + l2.stack = l.stack if len(l.hooks) > 0 { l2.hooks = append(l2.hooks, l.hooks...) }