Skip to content

Commit b2dcdba

Browse files
authored
Improve TimedLog (#2)
1 parent dcd4bda commit b2dcdba

File tree

3 files changed

+25
-28
lines changed

3 files changed

+25
-28
lines changed

go.mod

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@ module github.com/packaged/logger/v3
33
go 1.20
44

55
require (
6-
github.com/packaged/environment v1.0.0
7-
github.com/stretchr/testify v1.8.1
8-
go.uber.org/zap v1.24.0
6+
github.com/packaged/environment v1.1.0
7+
github.com/stretchr/testify v1.10.0
8+
go.uber.org/zap v1.27.0
99
)
1010

1111
require (
1212
github.com/davecgh/go-spew v1.1.1 // indirect
1313
github.com/pmezard/go-difflib v1.0.0 // indirect
14-
go.uber.org/atomic v1.11.0 // indirect
1514
go.uber.org/multierr v1.11.0 // indirect
1615
gopkg.in/yaml.v3 v3.0.1 // indirect
1716
)

go.sum

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,17 @@
1-
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
2-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
31
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
42
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5-
github.com/packaged/environment v1.0.0 h1:cJp5QiFW84uys0a5DGtnxu5DFhrB4lpfK3zw1GhZCG8=
6-
github.com/packaged/environment v1.0.0/go.mod h1:P3je+kjXqJuu6vhQeDMqCqaB9biE6ITXswSA3Dts7Oc=
7-
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
3+
github.com/packaged/environment v1.1.0 h1:TxABnUoqPzzg8c1WeVfux3cmUOyd0HggvRrvIlmfxIM=
4+
github.com/packaged/environment v1.1.0/go.mod h1:P3je+kjXqJuu6vhQeDMqCqaB9biE6ITXswSA3Dts7Oc=
85
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
96
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
10-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
11-
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
12-
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
13-
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
14-
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
15-
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
16-
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
17-
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
18-
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
19-
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
7+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
8+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
9+
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
2010
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
2111
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
22-
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
23-
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
12+
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
13+
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
2414
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2515
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
26-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
2716
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2817
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

logger/timed.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package logger
22

33
import (
4-
"go.uber.org/zap"
54
"time"
5+
6+
"go.uber.org/zap"
67
)
78

89
type TimedLogConfig struct {
@@ -47,20 +48,28 @@ func NewTimedLog(cnf *TimedLogConfig, message string, fields ...zap.Field) *Time
4748
return &TimedLog{config: cnf, message: message, fields: fields, start: time.Now()}
4849
}
4950

50-
func (l *Logger) TimedLog(tl *TimedLog) {
51+
func (l *Logger) TimedLog(tl *TimedLog, fields ...zap.Field) {
5152
if l == nil || tl == nil {
5253
return
5354
}
5455

5556
tl.Complete()
5657

58+
nl := l.Clone()
59+
nl.zapper = nl.zapper.WithOptions(zap.AddCallerSkip(1))
60+
61+
logFields := tl.fields
62+
logFields = append(logFields, tl.fields...)
63+
logFields = append(logFields, fields...)
64+
logFields = append(logFields, zap.Duration("duration", tl.duration))
65+
5766
if tl.duration >= tl.config.ErrorDuration && tl.config.ErrorDuration > 0 {
58-
l.Error(tl.message, append(tl.fields, zap.Duration("duration", tl.duration))...)
67+
nl.Error(tl.message, logFields...)
5968
} else if tl.duration >= tl.config.WarnDuration && tl.config.WarnDuration > 0 {
60-
l.Warn(tl.message, append(tl.fields, zap.Duration("duration", tl.duration))...)
69+
nl.Warn(tl.message, logFields...)
6170
} else if tl.duration >= tl.config.InfoDuration && tl.config.InfoDuration > 0 {
62-
l.Info(tl.message, append(tl.fields, zap.Duration("duration", tl.duration))...)
71+
nl.Info(tl.message, logFields...)
6372
} else if tl.duration >= tl.config.DebugDuration && tl.config.DebugDuration > 0 {
64-
l.Debug(tl.message, append(tl.fields, zap.Duration("duration", tl.duration))...)
73+
nl.Debug(tl.message, logFields...)
6574
}
6675
}

0 commit comments

Comments
 (0)