Skip to content

Commit ba2df54

Browse files
author
Alexander Félix
committed
fix logwrapper
1 parent 5bacbd5 commit ba2df54

File tree

4 files changed

+83
-16
lines changed

4 files changed

+83
-16
lines changed

go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ go 1.15
44

55
require (
66
github.com/avast/retry-go v3.0.0+incompatible
7+
github.com/blendle/zapdriver v1.3.1
78
github.com/golang/protobuf v1.4.3 // indirect
8-
github.com/jfeng45/glogger v0.0.0-20200604022340-2e2251ddc0a7 // indirect
99
github.com/nats-io/nats-streaming-server v0.19.0 // indirect
1010
github.com/nats-io/stan.go v0.7.0
11+
github.com/pkg/errors v0.9.1 // indirect
1112
github.com/stretchr/testify v1.6.1
1213
go.uber.org/zap v1.16.0
1314
google.golang.org/protobuf v1.25.0 // indirect

go.sum

+6-12
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQh
77
github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
88
github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
99
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
10+
github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHfpE=
11+
github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc=
1012
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
1113
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
1214
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
@@ -59,11 +61,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
5961
github.com/hashicorp/raft v1.2.0 h1:mHzHIrF0S91d3A7RPBvuqkgB4d/7oFJZyvf1Q4m7GA0=
6062
github.com/hashicorp/raft v1.2.0/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8=
6163
github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod h1:pNv7Wc3ycL6F5oOWn+tPGo2gWD4a5X+yp/ntwdKLjRk=
62-
github.com/jfeng45/glogger v0.0.0-20200604022340-2e2251ddc0a7 h1:cSwWfnVNPioi9kn2SmwcMKsSOXzPOwKBHANuaFL+EV4=
63-
github.com/jfeng45/glogger v0.0.0-20200604022340-2e2251ddc0a7/go.mod h1:sf7BgRKEE81JPwRPpmXBmy04V2QEBahAvEi9jrV98vw=
6464
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
6565
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
66-
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
6766
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
6867
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
6968
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -96,11 +95,9 @@ github.com/nats-io/stan.go v0.7.0 h1:sMVHD9RkxPOl6PJfDVBQd+gbxWkApeYl6GrH+10msO4
9695
github.com/nats-io/stan.go v0.7.0/go.mod h1:Ci6mUIpGQTjl++MqK2XzkWI/0vF+Bl72uScx7ejSYmU=
9796
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
9897
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
99-
github.com/phelian/log v0.0.2 h1:Q/rlbXzRE/FPlLdIVfrW+gNqfmkE9hq9iHiYXDkt+9Q=
100-
github.com/phelian/log v0.0.2/go.mod h1:zzeUtgdSRTfpDZ3gFDuXLZU42KCs1wC2DObQW+aJs38=
101-
github.com/phelian/stanclient v0.0.0-20201112095805-76c4ed51632c h1:1uiIgmCeNcPldoTy8GWz9ZThC8SJoRLbJ1tS1ekeens=
10298
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
10399
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
100+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
104101
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
105102
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
106103
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -112,9 +109,7 @@ github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R
112109
github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4=
113110
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
114111
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
115-
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
116112
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
117-
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
118113
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
119114
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
120115
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -123,15 +118,15 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
123118
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
124119
go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0=
125120
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
126-
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
121+
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
127122
go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk=
128123
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
129-
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
124+
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
130125
go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
131126
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
132127
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
133128
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
134-
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
129+
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
135130
go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM=
136131
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
137132
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -164,7 +159,6 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h
164159
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
165160
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
166161
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
167-
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
168162
golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
169163
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
170164
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

logwrapper/zap.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package wrappers
1+
package logwrapper
22

33
import (
44
"fmt"
@@ -26,8 +26,11 @@ func (w *ZapWrapper) Fatal(args ...interface{}) {
2626
}
2727

2828
// NewZapWrapper returns new pointer to a ZapWrapper
29-
func NewZapWrapper(logger *zap.Logger) *ZapWrapper {
30-
return &ZapWrapper{logger: logger}
29+
func NewZapWrapper(logger *zap.Logger) (*ZapWrapper, error) {
30+
if logger == nil {
31+
return nil, fmt.Errorf("nil pointer sent as zap logger")
32+
}
33+
return &ZapWrapper{logger: logger}, nil
3134
}
3235

3336
func getMsgAndFields(args ...interface{}) (string, []zap.Field) {

logwrapper/zap_test.go

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package logwrapper
2+
3+
import (
4+
"testing"
5+
6+
"github.com/blendle/zapdriver"
7+
"github.com/stretchr/testify/require"
8+
"go.uber.org/zap"
9+
"go.uber.org/zap/zapcore"
10+
)
11+
12+
type zapSuite struct{}
13+
14+
func TestZapSuite(t *testing.T) {
15+
s := &zapSuite{}
16+
17+
t.Run("testNonStructured", s.testNonStructured)
18+
t.Run("testStructured", s.testStructured)
19+
}
20+
21+
func (s *zapSuite) testNonStructured(t *testing.T) {
22+
logger, err := newLogger(false, "")
23+
require.NoError(t, err)
24+
25+
wlogger, err := NewZapWrapper(logger)
26+
require.NoError(t, err)
27+
require.NotNil(t, wlogger)
28+
}
29+
30+
func (s *zapSuite) testStructured(t *testing.T) {
31+
logger, err := newLogger(true, "zappy")
32+
require.NoError(t, err)
33+
34+
wlogger, err := NewZapWrapper(logger)
35+
require.NoError(t, err)
36+
require.NotNil(t, wlogger)
37+
38+
wlogger.Info("testing")
39+
wlogger.Info("testing", zap.String("key", "val"))
40+
41+
t.Run("testArgument", func(t *testing.T) {
42+
defer func() {
43+
r := recover()
44+
require.NotNil(t, r)
45+
}()
46+
wlogger.Info(1)
47+
})
48+
}
49+
50+
func newLogger(structuredLogs bool, servicename string) (*zap.Logger, error) {
51+
config := zap.NewDevelopmentConfig()
52+
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
53+
54+
logger, err := config.Build()
55+
if err != nil {
56+
return logger, err
57+
}
58+
59+
if structuredLogs {
60+
logger, err = zapdriver.NewProductionWithCore(zapdriver.WrapCore(
61+
zapdriver.ReportAllErrors(true),
62+
zapdriver.ServiceName(servicename),
63+
))
64+
if err != nil {
65+
return logger, err
66+
}
67+
}
68+
return logger, nil
69+
}

0 commit comments

Comments
 (0)