From e43732c52053002872d251abb2aa68005b9d519b Mon Sep 17 00:00:00 2001 From: Jona Walpert Date: Sun, 12 Apr 2026 13:12:55 +0200 Subject: [PATCH] Feat: Log JOIN_LOBBY requests and joins --- .../lobby/join_lobby/JoinLobbyHandler.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/lobby/join_lobby/JoinLobbyHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/lobby/join_lobby/JoinLobbyHandler.java index 579c281..169b027 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/lobby/join_lobby/JoinLobbyHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/lobby/join_lobby/JoinLobbyHandler.java @@ -9,6 +9,8 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandH import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.ErrorResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.OkResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatcher.ResponseDispatcher; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * Handler for the `JOIN_LOBBY` command. @@ -21,6 +23,7 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatch public class JoinLobbyHandler extends CommandHandler { private final LobbyManager lobbyManager; private final UserRegistry userRegistry; + private static final Logger LOGGER = LogManager.getLogger(JoinLobbyHandler.class); /** * Create a new {@link JoinLobbyHandler}. @@ -46,9 +49,17 @@ public class JoinLobbyHandler extends CommandHandler { */ @Override public void execute(JoinLobbyRequest request) { + LOGGER.info( + "JOIN_LOBBY request: session={}, lobbyId={}", + request.getContext().sessionId(), + request.getId()); LobbyId lid = LobbyId.of(request.getId()); var lobby = lobbyManager.getLobby(lid); if (lobby == null) { + LOGGER.warn( + "JOIN_LOBBY: Lobby {} not found (session={})", + request.getId(), + request.getContext().sessionId()); responseDispatcher.dispatch( new ErrorResponse(request.getContext(), "LOBBY_NOT_FOUND", "Lobby not found")); return; @@ -56,7 +67,9 @@ public class JoinLobbyHandler extends CommandHandler { var maybeUser = userRegistry.getBySessionId(request.getContext().sessionId()); if (maybeUser.isEmpty()) { - // UserLoggedInCheck should normally prevent this; keep safe fallback + LOGGER.warn( + "JOIN_LOBBY: No user associated with session {}", + request.getContext().sessionId()); responseDispatcher.dispatch( new ErrorResponse( request.getContext(), @@ -70,6 +83,10 @@ public class JoinLobbyHandler extends CommandHandler { boolean ok = lobbyManager.addPlayerToLobby(username, lid); if (!ok) { + LOGGER.warn( + "JOIN_LOBBY: User '{}' failed to join lobby {} (full or already in)", + username, + request.getId()); responseDispatcher.dispatch( new ErrorResponse( request.getContext(), @@ -78,6 +95,8 @@ public class JoinLobbyHandler extends CommandHandler { return; } + LOGGER.info("User '{}' joined lobby {}", username, request.getId()); + responseDispatcher.dispatch(new OkResponse(request.getContext())); } }