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.
This commit is contained in:
Jona Walpert
2026-04-12 10:42:56 +02:00
parent 346a308176
commit 4798de7499
@@ -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 ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
import java.util.concurrent.atomic.AtomicInteger; 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. */ /** Creates new users, resolving name conflicts automatically. */
public class UserFactory { public class UserFactory {
private final UserRegistry registry; private final UserRegistry registry;
private final AtomicInteger anonymousCounter = new AtomicInteger(1); 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. * Creates a new UserFactory backed by the given registry.
@@ -34,14 +37,26 @@ public class UserFactory {
String candidate = "player" + anonymousCounter.getAndIncrement(); String candidate = "player" + anonymousCounter.getAndIncrement();
var result = registry.registerIfAvailable(candidate, sessionId); var result = registry.registerIfAvailable(candidate, sessionId);
if (result.isPresent()) { 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); var result = registry.registerIfAvailable(desiredName, sessionId);
if (result.isPresent()) { 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; int suffix = 1;
@@ -49,7 +64,13 @@ public class UserFactory {
String candidate = desiredName + "_" + String.format("%03d", suffix); String candidate = desiredName + "_" + String.format("%03d", suffix);
result = registry.registerIfAvailable(candidate, sessionId); result = registry.registerIfAvailable(candidate, sessionId);
if (result.isPresent()) { 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++; suffix++;
} }