From 4798de7499b2c5182e1ea64e97d555704816cd0f Mon Sep 17 00:00:00 2001 From: Jona Walpert Date: Sun, 12 Apr 2026 10:42:56 +0200 Subject: [PATCH] Feat: Log assigned username and id on registration Add INFO log in UserFactory.create to record assigned username, user UUID and session id when a new user is registered. --- .../server/domain/user/UserFactory.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactory.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactory.java index 13fc889..0a41b0c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactory.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactory.java @@ -2,11 +2,14 @@ package ch.unibas.dmi.dbis.cs108.casono.server.domain.user; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** Creates new users, resolving name conflicts automatically. */ public class UserFactory { private final UserRegistry registry; private final AtomicInteger anonymousCounter = new AtomicInteger(1); + private static final Logger LOGGER = LogManager.getLogger(UserFactory.class); /** * Creates a new UserFactory backed by the given registry. @@ -34,14 +37,26 @@ public class UserFactory { String candidate = "player" + anonymousCounter.getAndIncrement(); var result = registry.registerIfAvailable(candidate, sessionId); if (result.isPresent()) { - return result.get(); + var user = result.get(); + LOGGER.info( + "Registered user '{}' with id {} for session {}", + user.getName(), + user.getId().value(), + sessionId == null ? "null" : sessionId.value()); + return user; } } } var result = registry.registerIfAvailable(desiredName, sessionId); if (result.isPresent()) { - return result.get(); + var user = result.get(); + LOGGER.info( + "Registered user '{}' with id {} for session {}", + user.getName(), + user.getId().value(), + sessionId == null ? "null" : sessionId.value()); + return user; } int suffix = 1; @@ -49,7 +64,13 @@ public class UserFactory { String candidate = desiredName + "_" + String.format("%03d", suffix); result = registry.registerIfAvailable(candidate, sessionId); if (result.isPresent()) { - return result.get(); + var user = result.get(); + LOGGER.info( + "Registered user '{}' with id {} for session {}", + user.getName(), + user.getId().value(), + sessionId == null ? "null" : sessionId.value()); + return user; } suffix++; }