Skip to content

Commit 337a86f

Browse files
committed
Minor log improvements.
1 parent e607fcc commit 337a86f

File tree

3 files changed

+31
-25
lines changed

3 files changed

+31
-25
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 1.1.3
4+
5+
* Minor log improvements.
6+
37
## 1.1.2
48

59
* Multi-platform binaries are now provided.

backend/mqttpubsub/backend.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func NewBackend(server, username, password string) (*Backend, error) {
3434
opts.SetOnConnectHandler(b.onConnected)
3535
opts.SetConnectionLostHandler(b.onConnectionLost)
3636

37-
log.WithField("server", server).Info("backend/mqttpubsub: connecting to MQTT server")
37+
log.WithField("server", server).Info("backend/mqttpubsub: connecting to mqtt broker")
3838
b.conn = mqtt.NewClient(opts)
3939
if token := b.conn.Connect(); token.Wait() && token.Error() != nil {
4040
return nil, token.Error()
@@ -100,18 +100,18 @@ func (b *Backend) publish(topic string, v interface{}) error {
100100
if err != nil {
101101
return err
102102
}
103-
log.WithField("topic", topic).Info("backend/mqttpubsub: publishing message")
103+
log.WithField("topic", topic).Info("backend/mqttpubsub: publishing packet")
104104
if token := b.conn.Publish(topic, 0, false, bytes); token.Wait() && token.Error() != nil {
105105
return token.Error()
106106
}
107107
return nil
108108
}
109109

110110
func (b *Backend) txPacketHandler(c mqtt.Client, msg mqtt.Message) {
111-
log.WithField("topic", msg.Topic()).Info("backend/mqttpubsub: message received")
111+
log.WithField("topic", msg.Topic()).Info("backend/mqttpubsub: packet received")
112112
var txPacket models.TXPacket
113113
if err := json.Unmarshal(msg.Payload(), &txPacket); err != nil {
114-
log.Errorf("backend/mqttpubsub: could not decode TXPacket: %s", err)
114+
log.Errorf("backend/mqttpubsub: decode tx packet error: %s", err)
115115
return
116116
}
117117
b.txPacketChan <- txPacket
@@ -121,10 +121,10 @@ func (b *Backend) onConnected(c mqtt.Client) {
121121
defer b.mutex.RUnlock()
122122
b.mutex.RLock()
123123

124-
log.Info("backend/mqttpubsub: connected to mqtt server")
124+
log.Info("backend/mqttpubsub: connected to mqtt broker")
125125
if len(b.gateways) > 0 {
126126
for {
127-
log.WithField("topic_count", len(b.gateways)).Info("Backend/mqttpubsub: re-registering to gateway topics")
127+
log.WithField("topic_count", len(b.gateways)).Info("backend/mqttpubsub: re-registering to gateway topics")
128128
topics := make(map[string]byte)
129129
for k := range b.gateways {
130130
topics[fmt.Sprintf("gateway/%s/tx", k)] = 0

gateway/backend.go

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func NewBackend(bind string, onNew func(lorawan.EUI64) error, onDelete func(lora
9494
if err != nil {
9595
return nil, err
9696
}
97-
log.WithField("addr", addr).Info("starting gateway udp listener")
97+
log.WithField("addr", addr).Info("gateway: starting gateway udp listener")
9898
conn, err := net.ListenUDP("udp", addr)
9999
if err != nil {
100100
return nil, err
@@ -115,7 +115,7 @@ func NewBackend(bind string, onNew func(lorawan.EUI64) error, onDelete func(lora
115115
go func() {
116116
for {
117117
if err := b.gateways.cleanup(); err != nil {
118-
log.Errorf("backend/mqttpubsub: gateways cleanup failed: %s", err)
118+
log.Errorf("gateway: gateways cleanup failed: %s", err)
119119
}
120120
time.Sleep(time.Minute)
121121
}
@@ -144,11 +144,13 @@ func NewBackend(bind string, onNew func(lorawan.EUI64) error, onDelete func(lora
144144

145145
// Close closes the backend.
146146
func (b *Backend) Close() error {
147+
log.Info("gateway: closing gateway backend")
147148
b.closed = true
148149
close(b.udpSendChan)
149150
if err := b.conn.Close(); err != nil {
150151
return err
151152
}
153+
log.Info("gateway: handling last packets")
152154
b.wg.Wait()
153155
return nil
154156
}
@@ -180,7 +182,7 @@ func (b *Backend) Send(txPacket models.TXPacket) error {
180182
}
181183
bytes, err := pullResp.MarshalBinary()
182184
if err != nil {
183-
return err
185+
return fmt.Errorf("gateway: json marshall PullRespPacket error: %s", err)
184186
}
185187
b.udpSendChan <- udpPacket{
186188
data: bytes,
@@ -194,7 +196,7 @@ func (b *Backend) readPackets() error {
194196
for {
195197
i, addr, err := b.conn.ReadFromUDP(buf)
196198
if err != nil {
197-
return err
199+
return fmt.Errorf("gateway: read from udp error: %s", err)
198200
}
199201
data := make([]byte, i)
200202
copy(data, buf[:i])
@@ -203,7 +205,7 @@ func (b *Backend) readPackets() error {
203205
log.WithFields(log.Fields{
204206
"data_base64": base64.StdEncoding.EncodeToString(data),
205207
"addr": addr,
206-
}).Errorf("could not handle packet: %s", err)
208+
}).Errorf("gateway: could not handle packet: %s", err)
207209
}
208210
}(data)
209211
}
@@ -216,13 +218,13 @@ func (b *Backend) sendPackets() error {
216218
log.WithFields(log.Fields{
217219
"addr": p.addr,
218220
"data_base64": base64.StdEncoding.EncodeToString(p.data),
219-
}).Error("unknown packet type")
221+
}).Error("gateway: unknown packet type")
220222
continue
221223
}
222224
log.WithFields(log.Fields{
223225
"addr": p.addr,
224226
"type": pt,
225-
}).Info("outgoing gateway packet")
227+
}).Info("gateway: sending udp packet to gateway")
226228

227229
if _, err := b.conn.WriteToUDP(p.data, p.addr); err != nil {
228230
return err
@@ -239,15 +241,15 @@ func (b *Backend) handlePacket(addr *net.UDPAddr, data []byte) error {
239241
log.WithFields(log.Fields{
240242
"addr": addr,
241243
"type": pt,
242-
}).Info("incoming gateway packet")
244+
}).Info("gateway: received udp packet from gateway")
243245

244246
switch pt {
245247
case PushData:
246248
return b.handlePushData(addr, data)
247249
case PullData:
248250
return b.handlePullData(addr, data)
249251
default:
250-
return fmt.Errorf("unknown packet type: %s", pt)
252+
return fmt.Errorf("gateway: unknown packet type: %s", pt)
251253
}
252254
}
253255

@@ -317,7 +319,7 @@ func (b *Backend) handleStat(addr *net.UDPAddr, mac lorawan.EUI64, stat Stat) {
317319
log.WithFields(log.Fields{
318320
"addr": addr,
319321
"mac": mac,
320-
}).Info("stat packet received")
322+
}).Info("gateway: stat packet received")
321323
b.statsChan <- gwStats
322324
}
323325

@@ -327,7 +329,7 @@ func (b *Backend) handleRXPacket(addr *net.UDPAddr, mac lorawan.EUI64, rxpk RXPK
327329
"mac": mac,
328330
"data": rxpk.Data,
329331
}
330-
log.WithFields(logFields).Info("rxpk packet received")
332+
log.WithFields(logFields).Info("gateway: rxpk packet received")
331333

332334
// decode packet
333335
rxPacket, err := newRXPacketFromRXPK(mac, rxpk)
@@ -337,8 +339,8 @@ func (b *Backend) handleRXPacket(addr *net.UDPAddr, mac lorawan.EUI64, rxpk RXPK
337339

338340
// check CRC
339341
if rxPacket.RXInfo.CRCStatus != 1 {
340-
log.WithFields(logFields).Warningf("invalid packet CRC: %d", rxPacket.RXInfo.CRCStatus)
341-
return errors.New("invalid CRC")
342+
log.WithFields(logFields).Warningf("gateway: invalid packet CRC: %d", rxPacket.RXInfo.CRCStatus)
343+
return errors.New("gateway: invalid CRC")
342344
}
343345
b.rxChan <- rxPacket
344346
return nil
@@ -362,12 +364,12 @@ func newGatewayStatsPacket(mac lorawan.EUI64, stat Stat) models.GatewayStatsPack
362364
func newRXPacketFromRXPK(mac lorawan.EUI64, rxpk RXPK) (models.RXPacket, error) {
363365
var phy lorawan.PHYPayload
364366
if err := phy.UnmarshalText([]byte(rxpk.Data)); err != nil {
365-
return models.RXPacket{}, fmt.Errorf("could not unmarshal PHYPayload: %s", err)
367+
return models.RXPacket{}, fmt.Errorf("gateway: could not unmarshal PHYPayload: %s", err)
366368
}
367369

368370
dataRate, err := newDataRateFromDatR(rxpk.DatR)
369371
if err != nil {
370-
return models.RXPacket{}, fmt.Errorf("could not get DataRate from DatR: %s", err)
372+
return models.RXPacket{}, fmt.Errorf("gateway: could not get DataRate from DatR: %s", err)
371373
}
372374

373375
rxPacket := models.RXPacket{
@@ -425,17 +427,17 @@ func newDataRateFromDatR(d DatR) (band.DataRate, error) {
425427
// parse e.g. SF12BW250 into separate variables
426428
match := loRaDataRateRegex.FindStringSubmatch(d.LoRa)
427429
if len(match) != 3 {
428-
return dr, errors.New("could not parse LoRa data rate")
430+
return dr, errors.New("gateway: could not parse LoRa data rate")
429431
}
430432

431433
// cast variables to ints
432434
sf, err := strconv.Atoi(match[1])
433435
if err != nil {
434-
return dr, fmt.Errorf("could not convert spread factor to int: %s", err)
436+
return dr, fmt.Errorf("gateway: could not convert spread factor to int: %s", err)
435437
}
436438
bw, err := strconv.Atoi(match[2])
437439
if err != nil {
438-
return dr, fmt.Errorf("could not convert bandwith to int: %s", err)
440+
return dr, fmt.Errorf("gateway: could not convert bandwith to int: %s", err)
439441
}
440442

441443
dr.Modulation = band.LoRaModulation
@@ -450,7 +452,7 @@ func newDataRateFromDatR(d DatR) (band.DataRate, error) {
450452
return dr, nil
451453
}
452454

453-
return dr, errors.New("could not convert DatR to DataRate, DatR is empty / modulation unknown")
455+
return dr, errors.New("gateway: could not convert DatR to DataRate, DatR is empty / modulation unknown")
454456
}
455457

456458
func newDatRfromDataRate(d band.DataRate) DatR {

0 commit comments

Comments
 (0)