zlaHooks.go   A
last analyzed

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
cc 3
eloc 22
dl 0
loc 36
ccs 5
cts 5
cp 1
crap 3
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A zla.ContextHook.Run 0 2 1
A zla.LevelMsgHook.Run 0 4 1
A zla.ErrorHook.Run 0 2 1
1
package zla
2
3
import (
4
	"github.com/rs/zerolog"
5
6
	e2hformat "github.com/cdleo/go-e2h/formatter"
7
)
8
9
type ContextHook struct {
10
	ref string
11
}
12
13
func (h ContextHook) Run(e *zerolog.Event, level zerolog.Level, msg string) {
14 1
	e.Str("ref", h.ref)
15
}
16
17
type LevelMsgHook struct {
18
	level   string
19
	where   string
20
	message string
21
}
22
23
func (h LevelMsgHook) Run(e *zerolog.Event, level zerolog.Level, msg string) {
24 1
	e.Str("level", h.level)
25 1
	e.Str("message", h.message)
26 1
	e.Str("where", h.where)
27
}
28
29
type ErrorHook struct {
30
	err       error
31
	params    e2hformat.Params
32
	formatter e2hformat.Formatter
33
}
34
35
func (h ErrorHook) Run(e *zerolog.Event, level zerolog.Level, msg string) {
36 1
	e.RawJSON("details", []byte(h.formatter.Format(h.err, h.params)))
37
}
38