feat: replace standard log with charmbracelet/log

- update logging to use charmbracelet/log package
- improve log messages for server start and errors
- enhance client connection and disconnection logs

🤖
This commit is contained in:
Sebastian Mark 2024-10-26 00:01:07 +02:00
parent 3eae584d6d
commit 899417b605
7 changed files with 68 additions and 15 deletions

View file

@ -3,8 +3,8 @@ package websocket
import (
"encoding/json"
"git.smsvc.net/pomodoro/GoTomato/internal/shared"
"github.com/charmbracelet/log"
"github.com/gorilla/websocket"
"log"
"time"
)
@ -15,14 +15,14 @@ func SendPermanentBroadCastMessage() {
// Marshal the message into JSON format
jsonMessage, err := json.Marshal(shared.Message)
if err != nil {
log.Printf("Error marshalling message: %v", err)
log.Error("Error marshalling message:", "msg", err)
return
}
// Iterate over all connected clients and broadcast the message
for _, client := range Clients {
err := client.SendMessage(websocket.TextMessage, jsonMessage)
if err != nil {
log.Printf("Error broadcasting to client: %v", err)
log.Error("Error broadcasting to client:", "msg", err)
// The client is responsible for closing itself on error
}
}

View file

@ -5,8 +5,8 @@ import (
"git.smsvc.net/pomodoro/GoTomato/internal/pomodoro"
"git.smsvc.net/pomodoro/GoTomato/internal/shared"
"git.smsvc.net/pomodoro/GoTomato/pkg/models"
"github.com/charmbracelet/log"
"github.com/gorilla/websocket"
"log"
)
// handleClientCommands listens for commands from WebSocket clients
@ -16,7 +16,7 @@ func handleClientCommands(ws *websocket.Conn) {
_, message, err := ws.ReadMessage()
if err != nil {
log.Printf("Client disconnected from %s (%v) (total: %d)", ws.NetConn().RemoteAddr(), err, len(Clients)-1)
log.Info("Client disconnected:", "msg", err, "host", ws.NetConn().RemoteAddr(), "clients", len(Clients)-1)
delete(Clients, ws)
break
}
@ -24,7 +24,7 @@ func handleClientCommands(ws *websocket.Conn) {
// Handle incoming commands
err = json.Unmarshal(message, &clientCommand)
if err != nil {
log.Printf("Error unmarshalling command: %v", err)
log.Error("Error unmarshalling command:", "msg", err)
continue
}

View file

@ -2,8 +2,8 @@ package websocket
import (
"git.smsvc.net/pomodoro/GoTomato/pkg/models"
"github.com/charmbracelet/log"
"github.com/gorilla/websocket"
"log"
"net/http"
"sync"
)
@ -22,12 +22,12 @@ func HandleConnections(w http.ResponseWriter, r *http.Request) {
// Upgrade initial GET request to a WebSocket
ws, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Printf("WebSocket upgrade error: %v", err)
log.Error("WebSocket upgrade error:", "msg", err)
return
}
defer ws.Close()
log.Printf("Client connected from %v (total: %d)", ws.NetConn().RemoteAddr(), len(Clients)+1)
log.Info("Client connected", "host", ws.NetConn().RemoteAddr(), "clients", len(Clients)+1)
// Register the new client
mu.Lock()