@@ -179,7 +179,7 @@ func parseDeviceInfo(dev *device, b []byte) bool {
179
179
fields := bytes .Split (b , []byte {0 })
180
180
181
181
if len (fields ) < 3 {
182
- log .Error ().Msg ( " msgTypeRegister: invalid" )
182
+ log .Error ().Msgf ( "%s: msgTypeRegister: invalid", dev . conn . RemoteAddr () )
183
183
return false
184
184
}
185
185
@@ -199,13 +199,15 @@ func (dev *device) readLoop() {
199
199
dev .br .unregister <- dev
200
200
}()
201
201
202
+ logPrefix := dev .conn .RemoteAddr ().String ()
203
+
202
204
br := bufio .NewReader (dev .conn )
203
205
204
206
for {
205
207
b , err := br .Peek (3 )
206
208
if err != nil {
207
209
if err != io .EOF && ! strings .Contains (err .Error (), "use of closed network connection" ) {
208
- log .Error ().Msg ( err .Error ())
210
+ log .Error ().Msgf ( "%s: %s" , logPrefix , err .Error ())
209
211
}
210
212
return
211
213
}
@@ -215,7 +217,7 @@ func (dev *device) readLoop() {
215
217
typ := b [0 ]
216
218
217
219
if typ > msgTypeMax {
218
- log .Error ().Msgf ("invalid msg type: %d" , typ )
220
+ log .Error ().Msgf ("%s: invalid msg type: %d" , logPrefix , typ )
219
221
return
220
222
}
221
223
@@ -233,19 +235,26 @@ func (dev *device) readLoop() {
233
235
switch typ {
234
236
case msgTypeRegister :
235
237
if msgLen < 2 {
236
- log .Error ().Msg ( " msgTypeRegister: invalid" )
238
+ log .Error ().Msgf ( "%s: msgTypeRegister: invalid", logPrefix )
237
239
return
238
240
}
239
241
240
242
if ! parseDeviceInfo (dev , b ) {
241
243
return
242
244
}
243
245
246
+ if dev .id == "" {
247
+ log .Error ().Msgf ("%s: msgTypeRegister: devid is empty" , logPrefix )
248
+ return
249
+ }
250
+
251
+ logPrefix = dev .id
252
+
244
253
dev .br .register <- dev
245
254
246
255
case msgTypeLogin :
247
256
if msgLen < 33 {
248
- log .Error ().Msg ( " msgTypeLogin: invalid" )
257
+ log .Error ().Msgf ( "%s: msgTypeLogin: invalid", logPrefix )
249
258
return
250
259
}
251
260
@@ -256,7 +265,7 @@ func (dev *device) readLoop() {
256
265
257
266
case msgTypeLogout :
258
267
if msgLen < 32 {
259
- log .Error ().Msg ( " msgTypeLogout: invalid" )
268
+ log .Error ().Msgf ( "%s: msgTypeLogout: invalid", logPrefix )
260
269
return
261
270
}
262
271
@@ -266,7 +275,7 @@ func (dev *device) readLoop() {
266
275
fallthrough
267
276
case msgTypeFile :
268
277
if msgLen < 32 {
269
- log .Error ().Msg ( " msgTypeTermData|msgTypeFile: invalid" )
278
+ log .Error ().Msgf ( "%s: msgTypeTermData|msgTypeFile: invalid", logPrefix )
270
279
return
271
280
}
272
281
@@ -280,15 +289,15 @@ func (dev *device) readLoop() {
280
289
281
290
case msgTypeCmd :
282
291
if msgLen < 1 {
283
- log .Error ().Msg ( " msgTypeCmd: invalid" )
292
+ log .Error ().Msgf ( "%s: msgTypeCmd: invalid", logPrefix )
284
293
return
285
294
}
286
295
287
296
dev .br .cmdResp <- b
288
297
289
298
case msgTypeHttp :
290
299
if msgLen < 18 {
291
- log .Error ().Msg ( " msgTypeHttp: invalid" )
300
+ log .Error ().Msgf ( "%s: msgTypeHttp: invalid", logPrefix )
292
301
return
293
302
}
294
303
@@ -298,7 +307,7 @@ func (dev *device) readLoop() {
298
307
parseHeartbeat (dev , b )
299
308
300
309
default :
301
- log .Error ().Msgf ("invalid msg type: %d" , typ )
310
+ log .Error ().Msgf ("%s: invalid msg type: %d" , logPrefix , typ )
302
311
}
303
312
}
304
313
}
0 commit comments