@@ -24,7 +24,7 @@ func TestZapInfoLogger(t *testing.T) {
2424 absLogger , _ := NewZapLogger (z )
2525 absLogger .WithFields (Fields {
2626 "foo" : "bar" ,
27- }).Infof ("direct" )
27+ }).Info ("direct" )
2828
2929 err := json .Unmarshal (buffer .Bytes (), & fields )
3030 assert .Nil (t , err )
@@ -33,6 +33,133 @@ func TestZapInfoLogger(t *testing.T) {
3333 assert .Equal (t , "bar" , fields ["foo" ])
3434}
3535
36+ func TestZapInfofLogger (t * testing.T ) {
37+ var fields Fields
38+ var buffer bytes.Buffer
39+ writerSync := zapcore .AddSync (& buffer )
40+ encoder := zapcore .NewJSONEncoder (zap .NewProductionEncoderConfig ())
41+ core := zapcore .NewCore (
42+ encoder ,
43+ writerSync ,
44+ zap .DebugLevel ,
45+ )
46+ z := zap .New (core )
47+ absLogger , _ := NewZapLogger (z )
48+ absLogger .WithFields (Fields {
49+ "ping" : "pong" ,
50+ }).Infof ("received %s balls" , "ping pong" )
51+
52+ err := json .Unmarshal (buffer .Bytes (), & fields )
53+ assert .Nil (t , err )
54+ assert .Equal (t , "received ping pong balls" , fields ["msg" ])
55+ assert .Equal (t , "info" , fields ["level" ])
56+ assert .Equal (t , "pong" , fields ["ping" ])
57+ }
58+
59+ func TestZapWarnLogger (t * testing.T ) {
60+ var fields Fields
61+ var buffer bytes.Buffer
62+ writerSync := zapcore .AddSync (& buffer )
63+ encoder := zapcore .NewJSONEncoder (zap .NewProductionEncoderConfig ())
64+ core := zapcore .NewCore (
65+ encoder ,
66+ writerSync ,
67+ zap .DebugLevel ,
68+ )
69+ z := zap .New (core )
70+ absLogger , _ := NewZapLogger (z )
71+ absLogger .WithFields (Fields {
72+ "foo" : "bar" ,
73+ "log" : "zap" ,
74+ }).Warn ("direct" )
75+
76+ err := json .Unmarshal (buffer .Bytes (), & fields )
77+ assert .Nil (t , err )
78+ assert .Equal (t , "direct" , fields ["msg" ])
79+ assert .Equal (t , "warn" , fields ["level" ])
80+ assert .Equal (t , "bar" , fields ["foo" ])
81+ assert .Equal (t , "zap" , fields ["log" ])
82+ }
83+
84+ func TestZapWarnfLogger (t * testing.T ) {
85+ var fields Fields
86+ var buffer bytes.Buffer
87+ writerSync := zapcore .AddSync (& buffer )
88+ encoder := zapcore .NewJSONEncoder (zap .NewProductionEncoderConfig ())
89+ core := zapcore .NewCore (
90+ encoder ,
91+ writerSync ,
92+ zap .DebugLevel ,
93+ )
94+ z := zap .New (core )
95+ absLogger , _ := NewZapLogger (z )
96+ absLogger .WithFields (Fields {
97+ "ping" : "pong" ,
98+ "log" : "zap" ,
99+ }).Warnf ("received %s balls" , "table tennis" )
100+
101+ err := json .Unmarshal (buffer .Bytes (), & fields )
102+ assert .Nil (t , err )
103+ assert .Equal (t , "received table tennis balls" , fields ["msg" ])
104+ assert .Equal (t , "warn" , fields ["level" ])
105+ assert .Equal (t , "pong" , fields ["ping" ])
106+ assert .Equal (t , "zap" , fields ["log" ])
107+ }
108+
109+ func TestZapPanicLogger (t * testing.T ) {
110+ var fields Fields
111+ var buffer bytes.Buffer
112+ writerSync := zapcore .AddSync (& buffer )
113+ encoder := zapcore .NewJSONEncoder (zap .NewProductionEncoderConfig ())
114+ core := zapcore .NewCore (
115+ encoder ,
116+ writerSync ,
117+ zap .ErrorLevel ,
118+ )
119+ z := zap .New (core )
120+ absLogger , _ := NewZapLogger (z )
121+ defer func () {
122+ if r := recover (); r == nil {
123+ t .Errorf ("The code did not panic" )
124+ }
125+ err := json .Unmarshal (buffer .Bytes (), & fields )
126+ assert .Nil (t , err )
127+ assert .Equal (t , "db not found" , fields ["msg" ])
128+ assert .Equal (t , "panic" , fields ["level" ])
129+ assert .Equal (t , "dataDB" , fields ["db" ])
130+ assert .Equal (t , "zap" , fields ["log" ])
131+ }()
132+ absLogger .WithFields (Fields {
133+ "db" : "dataDB" ,
134+ "log" : "zap" ,
135+ }).Panic ("db not found" )
136+ }
137+
138+ func TestZapErrorLogger (t * testing.T ) {
139+ var fields Fields
140+ var buffer bytes.Buffer
141+ writerSync := zapcore .AddSync (& buffer )
142+ encoder := zapcore .NewJSONEncoder (zap .NewProductionEncoderConfig ())
143+ core := zapcore .NewCore (
144+ encoder ,
145+ writerSync ,
146+ zap .InfoLevel ,
147+ )
148+ z := zap .New (core )
149+ absLogger , _ := NewZapLogger (z )
150+ absLogger .WithFields (Fields {
151+ "acctNumber" : 7899 ,
152+ "log" : "zap" ,
153+ }).Errorf ("Error creating account %s" , "testAccount" )
154+
155+ err := json .Unmarshal (buffer .Bytes (), & fields )
156+ assert .Nil (t , err )
157+ assert .Equal (t , "Error creating account testAccount" , fields ["msg" ])
158+ assert .Equal (t , "error" , fields ["level" ])
159+ assert .Equal (t , float64 (7899 ), fields ["acctNumber" ])
160+ assert .Equal (t , "zap" , fields ["log" ])
161+ }
162+
36163//set logger to info and see that it doesn't print debug statements
37164func TestZapNoOutputLogger (t * testing.T ) {
38165 var buffer bytes.Buffer
0 commit comments