Skip to content

Commit 287f912

Browse files
committed
don't dump raw bytes into log output? its hard to read
1 parent 47b243c commit 287f912

File tree

1 file changed

+38
-8
lines changed

1 file changed

+38
-8
lines changed

cns/logger/cnslogger.go

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

33
import (
4+
"encoding/json"
45
"fmt"
56
"os"
67
"sync"
@@ -140,11 +141,19 @@ func (c *CNSLogger) Request(tag string, request any, err error) {
140141
return
141142
}
142143

144+
//an alternative is to make al request types support stringer/fmt.formatter but thats easy to mess up.
145+
var requestString string
146+
if bytes, err := json.Marshal(request); err != nil {
147+
requestString = string(bytes)
148+
} else {
149+
requestString = fmt.Sprintf("Failed to json marshal %s, %+v", err, request)
150+
}
151+
143152
var msg string
144153
if err == nil {
145-
msg = fmt.Sprintf("[%s] Received %T %+v.", tag, request, request)
154+
msg = fmt.Sprintf("[%s] Received %T %s.", tag, request, requestString)
146155
} else {
147-
msg = fmt.Sprintf("[%s] Failed to decode %T %+v %s.", tag, request, request, err.Error())
156+
msg = fmt.Sprintf("[%s] Failed to decode %T %s %s.", tag, request, requestString, err.Error())
148157
}
149158

150159
c.sendTraceInternal(msg)
@@ -157,14 +166,21 @@ func (c *CNSLogger) Response(tag string, response any, returnCode types.Response
157166
return
158167
}
159168

169+
var responseString string
170+
if bytes, err := json.Marshal(response); err != nil {
171+
responseString = string(bytes)
172+
} else {
173+
responseString = fmt.Sprintf("Failed to json marshal %s, %+v", err, responseString)
174+
}
175+
160176
var msg string
161177
switch {
162178
case err == nil && returnCode == 0:
163-
msg = fmt.Sprintf("[%s] Sent %T %+v.", tag, response, response)
179+
msg = fmt.Sprintf("[%s] Sent %T %s.", tag, response, responseString)
164180
case err != nil:
165-
msg = fmt.Sprintf("[%s] Code:%s, %+v %s.", tag, returnCode.String(), response, err.Error())
181+
msg = fmt.Sprintf("[%s] Code:%s, %s %s.", tag, returnCode.String(), responseString, err.Error())
166182
default:
167-
msg = fmt.Sprintf("[%s] Code:%s, %+v.", tag, returnCode.String(), response)
183+
msg = fmt.Sprintf("[%s] Code:%s, %s.", tag, returnCode.String(), responseString)
168184
}
169185

170186
c.sendTraceInternal(msg)
@@ -177,14 +193,28 @@ func (c *CNSLogger) ResponseEx(tag string, request, response any, returnCode typ
177193
return
178194
}
179195

196+
var requestString string
197+
if bytes, err := json.Marshal(request); err != nil {
198+
requestString = string(bytes)
199+
} else {
200+
requestString = fmt.Sprintf("Failed to json marshal %s, %+v", err, request)
201+
}
202+
203+
var responseString string
204+
if bytes, err := json.Marshal(response); err != nil {
205+
responseString = string(bytes)
206+
} else {
207+
responseString = fmt.Sprintf("Failed to json marshal %s, %+v", err, responseString)
208+
}
209+
180210
var msg string
181211
switch {
182212
case err == nil && returnCode == 0:
183-
msg = fmt.Sprintf("[%s] Sent %T %+v %T %+v.", tag, request, request, response, response)
213+
msg = fmt.Sprintf("[%s] Sent %T %s %T %s.", tag, request, requestString, response, responseString)
184214
case err != nil:
185-
msg = fmt.Sprintf("[%s] Code:%s, %+v, %+v, %s.", tag, returnCode.String(), request, response, err.Error())
215+
msg = fmt.Sprintf("[%s] Code:%s, %s, %s, %s.", tag, returnCode.String(), requestString, responseString, err.Error())
186216
default:
187-
msg = fmt.Sprintf("[%s] Code:%s, %+v, %+v.", tag, returnCode.String(), request, response)
217+
msg = fmt.Sprintf("[%s] Code:%s, %s, %s.", tag, returnCode.String(), requestString, responseString)
188218
}
189219

190220
c.sendTraceInternal(msg)

0 commit comments

Comments
 (0)