Improve logging
This commit is contained in:
parent
f995854683
commit
3895082c65
@ -59,9 +59,10 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
|
|||||||
@MessageMapping("/chat")
|
@MessageMapping("/chat")
|
||||||
public ChatMessage chat(String message, @Header(SESSION_ID_HEADER) String sessionId) {
|
public ChatMessage chat(String message, @Header(SESSION_ID_HEADER) String sessionId) {
|
||||||
final Player player = playerBySession.get(sessionId);
|
final Player player = playerBySession.get(sessionId);
|
||||||
if (player == null) {
|
final String username = player.getUsername();
|
||||||
log.warn("No player for session {}", sessionId);
|
if (username == null) {
|
||||||
throw new IllegalStateException("No player for session " + sessionId);
|
log.warn("No username for session {}", sessionId);
|
||||||
|
throw new IllegalStateException("No username for session " + sessionId);
|
||||||
}
|
}
|
||||||
return new ChatMessage(player.getUsername(), message);
|
return new ChatMessage(player.getUsername(), message);
|
||||||
}
|
}
|
||||||
@ -74,8 +75,9 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
|
|||||||
@MessageMapping("/guess")
|
@MessageMapping("/guess")
|
||||||
public void guess(String guess, @Header(SESSION_ID_HEADER) String sessionId) {
|
public void guess(String guess, @Header(SESSION_ID_HEADER) String sessionId) {
|
||||||
final Player player = playerBySession.get(sessionId);
|
final Player player = playerBySession.get(sessionId);
|
||||||
if (player == null) {
|
final String username = player.getUsername();
|
||||||
log.warn("No player for session {}", sessionId);
|
if (username == null) {
|
||||||
|
log.warn("No username for session {}", sessionId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
guess = guess.toUpperCase();
|
guess = guess.toUpperCase();
|
||||||
@ -113,30 +115,32 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
|
|||||||
@MessageMapping("/hostGame")
|
@MessageMapping("/hostGame")
|
||||||
public synchronized void hostGame(@Header(SESSION_ID_HEADER) String sessionId) {
|
public synchronized void hostGame(@Header(SESSION_ID_HEADER) String sessionId) {
|
||||||
final Player player = playerBySession.get(sessionId);
|
final Player player = playerBySession.get(sessionId);
|
||||||
if (player == null) {
|
final String username = player.getUsername();
|
||||||
log.warn("No player for session {}", sessionId);
|
if (username == null) {
|
||||||
|
log.warn("No username for session {}", sessionId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (gameByPlayer.containsKey(player)) {
|
if (gameByPlayer.containsKey(player)) {
|
||||||
log.warn("{} is in a game already", player.getUsername());
|
log.warn("{} is in a game already", username);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Game game = new Game(player);
|
final Game game = new Game(player);
|
||||||
gameById.put(game.id, game);
|
gameById.put(game.id, game);
|
||||||
gameByPlayer.put(player, game);
|
gameByPlayer.put(player, game);
|
||||||
log.info("{} hosted a game", player.getUsername());
|
log.info("{} hosted a game", username);
|
||||||
send(Destinations.GAME_HOSTED, game);
|
send(Destinations.GAME_HOSTED, game);
|
||||||
}
|
}
|
||||||
|
|
||||||
@MessageMapping("/joinGame")
|
@MessageMapping("/joinGame")
|
||||||
public synchronized void joinGame(Integer gameId, @Header(SESSION_ID_HEADER) String sessionId) {
|
public synchronized void joinGame(Integer gameId, @Header(SESSION_ID_HEADER) String sessionId) {
|
||||||
final Player player = playerBySession.get(sessionId);
|
final Player player = playerBySession.get(sessionId);
|
||||||
if (player == null) {
|
final String username = player.getUsername();
|
||||||
log.warn("No player for session {}", sessionId);
|
if (username == null) {
|
||||||
|
log.warn("No username for session {}", sessionId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (gameByPlayer.containsKey(player)) {
|
if (gameByPlayer.containsKey(player)) {
|
||||||
log.warn("{} is in a game already", player.getUsername());
|
log.warn("{} is in a game already", username);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Game game = gameById.get(gameId);
|
final Game game = gameById.get(gameId);
|
||||||
@ -147,7 +151,7 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
|
|||||||
if (game.getChallenger() == null) {
|
if (game.getChallenger() == null) {
|
||||||
game.setChallenger(player);
|
game.setChallenger(player);
|
||||||
gameByPlayer.put(player, game);
|
gameByPlayer.put(player, game);
|
||||||
log.info("{} joined {}'s game", player.getUsername(), game.getHost());
|
log.info("{} joined {}'s game", username, game.getHost());
|
||||||
send(Destinations.GAME_JOINED, game);
|
send(Destinations.GAME_JOINED, game);
|
||||||
|
|
||||||
// Start the game immediately
|
// Start the game immediately
|
||||||
@ -169,28 +173,22 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
|
|||||||
|
|
||||||
private synchronized void leave(String sessionId) {
|
private synchronized void leave(String sessionId) {
|
||||||
final Player player = playerBySession.remove(sessionId);
|
final Player player = playerBySession.remove(sessionId);
|
||||||
if (player == null) {
|
|
||||||
log.warn("No player for session {}", sessionId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final String username = player.getUsername();
|
final String username = player.getUsername();
|
||||||
usernames.remove(username);
|
usernames.remove(username);
|
||||||
final Game game = gameByPlayer.remove(player);
|
final Game game = gameByPlayer.remove(player);
|
||||||
if (game == null) {
|
if (game == null) {
|
||||||
|
if (username != null) {
|
||||||
log.info("{} left", username);
|
log.info("{} left", username);
|
||||||
send(Destinations.CHAT, new ChatMessage(null, username + " left"));
|
send(Destinations.CHAT, new ChatMessage(null, username + " left"));
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
leaveGame(game, player);
|
leaveGame(game, player);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@MessageMapping("/leaveGame")
|
@MessageMapping("/leaveGame")
|
||||||
public synchronized void leaveGame(@Header(SESSION_ID_HEADER) String sessionId) {
|
public synchronized void leaveGame(@Header(SESSION_ID_HEADER) String sessionId) {
|
||||||
final Player player = playerBySession.get(sessionId);
|
final Player player = playerBySession.get(sessionId);
|
||||||
if (player == null) {
|
|
||||||
log.warn("No player for session {}", sessionId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final Game game = gameByPlayer.remove(player);
|
final Game game = gameByPlayer.remove(player);
|
||||||
if (game == null) {
|
if (game == null) {
|
||||||
log.warn("{} is not in a game", player.getUsername());
|
log.warn("{} is not in a game", player.getUsername());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user