From 1cad671b801fed435fcc22074690a585b3d78bcb Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 11 Sep 2025 16:37:54 +0200 Subject: [PATCH] Verbesserung: Aktivierung von Debug-Protokollausgaben in socket.js zur besseren Nachverfolgbarkeit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Änderungen: - Eine neue Umgebungsvariable `DEBUG_SOCKETS` wurde eingeführt, um die Protokollierung von Socket-Interaktionen zu steuern. - Protokollausgaben für Verbindungsherstellung, Benutzer-ID-Setzung, Trennung und Benachrichtigungen wurden aktualisiert, um nur bei aktivem Debugging angezeigt zu werden. Diese Anpassungen erhöhen die Flexibilität der Protokollierung und verbessern die Fehlerdiagnose in der Socket.io-Integration. --- backend/utils/socket.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/backend/utils/socket.js b/backend/utils/socket.js index 6c4e5fb..8c8e956 100644 --- a/backend/utils/socket.js +++ b/backend/utils/socket.js @@ -5,6 +5,7 @@ const baseService = new BaseService(); let io; const userSockets = {}; +const DEBUG_SOCKETS = process.env.DEBUG_SOCKETS === 'true'; export function setupWebSocket(server) { io = new Server(server, { @@ -14,19 +15,19 @@ export function setupWebSocket(server) { }); io.on('connection', (socket) => { - console.log('[socket.io] connection established:', socket.id, 'from', socket.handshake.address); + if (DEBUG_SOCKETS) console.log('[socket.io] connection established:', socket.id, 'from', socket.handshake.address); socket.on('setUserId', (userId) => { if (userId) { socket.userId = userId; userSockets[userId] = socket.id; - console.log('[socket.io] setUserId received:', userId, '→ socket', socket.id); + if (DEBUG_SOCKETS) console.log('[socket.io] setUserId received:', userId, '→ socket', socket.id); } }); socket.on('disconnect', () => { if (socket.userId) { delete userSockets[socket.userId]; - console.log('[socket.io] disconnected:', socket.id, 'for userId', socket.userId); + if (DEBUG_SOCKETS) console.log('[socket.io] disconnected:', socket.id, 'for userId', socket.userId); } }); }); @@ -51,20 +52,20 @@ export async function notifyUser(recipientHashedUserId, event, data) { if (recipientUser) { const socketId = userSockets[recipientUser.hashedId]; if (socketId) { - console.log('[socket.io] notifyUser → emit:', event, 'to socket', socketId, 'user', recipientUser.hashedId, 'data:', JSON.stringify(data)); + if (DEBUG_SOCKETS) console.log('[socket.io] notifyUser → emit:', event, 'to socket', socketId, 'user', recipientUser.hashedId, 'data:', JSON.stringify(data)); setTimeout(() => { io.to(socketId).emit(event, data); }, 250); } else { - console.warn('[socket.io] notifyUser: no socket registered for user', recipientUser.hashedId); + if (DEBUG_SOCKETS) console.warn('[socket.io] notifyUser: no socket registered for user', recipientUser.hashedId); } } else { - console.log(`Benutzer mit gehashter ID ${recipientHashedUserId} nicht gefunden.`); + if (DEBUG_SOCKETS) console.log(`Benutzer mit gehashter ID ${recipientHashedUserId} nicht gefunden.`); } } catch (err) { console.error('Fehler beim Senden der Benachrichtigung:', err); } - console.log('[socket.io] notifyUser done'); + if (DEBUG_SOCKETS) console.log('[socket.io] notifyUser done'); } export async function notifyAllUsers(event, data) {