Skip to content

Commit 69b982e

Browse files
committed
feat(logs): improve logging
1 parent 70bb851 commit 69b982e

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

api/sockets/handler.go

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ type connection struct {
4141
userID int
4242
}
4343

44+
func (c *connection) logError(err error, msg string) {
45+
log.WithError(err).WithFields(log.Fields{
46+
"context": "websocket",
47+
"user_id": c.userID,
48+
}).Error(msg)
49+
}
50+
4451
// readPump pumps messages from the websocket connection to the hub.
4552
func (c *connection) readPump() {
4653
defer func() {
@@ -50,11 +57,13 @@ func (c *connection) readPump() {
5057

5158
c.ws.SetReadLimit(maxMessageSize)
5259

53-
util.LogErrorF(c.ws.SetReadDeadline(tz.Now().Add(pongWait)), log.Fields{"error": "Cannot set read deadline"})
60+
if err := c.ws.SetReadDeadline(tz.Now().Add(pongWait)); err != nil {
61+
c.logError(err, "Cannot set read deadline")
62+
}
5463

5564
c.ws.SetPongHandler(func(string) error {
56-
err := c.ws.SetReadDeadline(tz.Now().Add(pongWait))
57-
util.LogErrorF(err, log.Fields{"error": "Cannot set read deadline"})
65+
err2 := c.ws.SetReadDeadline(tz.Now().Add(pongWait))
66+
util.LogErrorF(err2, log.Fields{"error": "Cannot set read deadline"})
5867
return nil
5968
})
6069

@@ -64,7 +73,7 @@ func (c *connection) readPump() {
6473

6574
if err != nil {
6675
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway) {
67-
util.LogError(err)
76+
c.logError(err, "Cannot read message from websocket")
6877
}
6978
break
7079
}
@@ -74,9 +83,9 @@ func (c *connection) readPump() {
7483
// write writes a message with the given message type and payload.
7584
func (c *connection) write(mt int, payload []byte) error {
7685

77-
err := c.ws.SetWriteDeadline(tz.Now().Add(writeWait))
78-
79-
util.LogErrorF(err, log.Fields{"error": "Cannot set write deadline"})
86+
if err := c.ws.SetWriteDeadline(tz.Now().Add(writeWait)); err != nil {
87+
c.logError(err, "Cannot set write deadline")
88+
}
8089

8190
return c.ws.WriteMessage(mt, payload)
8291
}
@@ -95,25 +104,17 @@ func (c *connection) writePump() {
95104
case message, ok := <-c.send:
96105
if !ok {
97106
if err := c.write(websocket.CloseMessage, []byte{}); err != nil {
98-
log.WithError(err).WithFields(log.Fields{
99-
"context": "websocket",
100-
"user_id": c.userID,
101-
}).Debug("Cannot send close message")
107+
c.logError(err, "Cannot send close message")
102108
}
103109
return
104110
}
111+
105112
if err := c.write(websocket.TextMessage, message); err != nil {
106-
log.WithError(err).WithFields(log.Fields{
107-
"context": "websocket",
108-
"user_id": c.userID,
109-
}).Debug("Cannot send text message")
113+
c.logError(err, "Cannot send message")
110114
}
111115
case <-ticker.C:
112116
if err := c.write(websocket.PingMessage, []byte{}); err != nil {
113-
log.WithError(err).WithFields(log.Fields{
114-
"context": "websocket",
115-
"user_id": c.userID,
116-
}).Debug("Cannot send ping message")
117+
c.logError(err, "Cannot send ping message")
117118
return
118119
}
119120
}

0 commit comments

Comments
 (0)