feat(logger): add capture func for errors

This commit is contained in:
2023-10-19 21:11:39 +02:00
parent a94d9ed720
commit 4c72331a76
3 changed files with 109 additions and 29 deletions

View File

@ -21,6 +21,8 @@ const (
FormatJSON Format = "json"
)
var captureFunc CaptureFunc = func(err error) {}
var defaultLogger slog.Logger // nolint: gochecknoglobals
type Field = slog.Field
@ -96,6 +98,11 @@ func E(err error) Field {
return slog.Error(err)
}
func CapturedE(err error) Field {
captureFunc(err)
return slog.Error(err)
}
func SetLevel(level Level) {
defaultLogger = defaultLogger.Leveled(level)
}
@ -107,3 +114,9 @@ func SetFormat(format Format) {
func With(ctx context.Context, fields ...Field) context.Context {
return slog.With(ctx, fields...)
}
type CaptureFunc func(err error)
func SetCaptureFunc(fn CaptureFunc) {
captureFunc = fn
}