zerolog icon indicating copy to clipboard operation
zerolog copied to clipboard

Add a dedicated Hook for Fatal calls

Open LorisFriedel opened this issue 2 years ago • 1 comments

Hello!

I'm currently converting all my projects from logrus to zerolog (thank you guys for the amazing library!) and I was wondering if it would be possible to add a dedicated Hook associated to Fatal call, something that would help cleanup things properly if a Fatal call happens.

Logrus has https://github.com/sirupsen/logrus/blob/master/alt_exit.go#L74 (DeferExitHandler) and it's very handy for when the Go program has CLI interface that manipulate the terminal in such way a cleanup is needed if the program exit for example.

I know I can do it with the Hook system already, but I feel like this special use-case would:

  1. improve performances compared to setting-up a classic Hook
  2. make sense to have a dedicated hook because of the nature of the Fatal call
  3. be easier to use and setup overall for this kind of use-cases

What do you think?

LorisFriedel avatar Sep 28 '23 07:09 LorisFriedel

+1 for this. I'm struggling to get the zerolog hook to behave in the same manner as needed from logrus.

I can get it to work with normal logs, but using Fatal/Panic, the hooks will always execute before the write

roachadam avatar Oct 21 '23 19:10 roachadam