From e3a71ed2ac46229c1a3cec6838d55e9b0984af1e Mon Sep 17 00:00:00 2001 From: Julian Wollersberger Date: Wed, 13 Jun 2018 07:19:40 +0200 Subject: [PATCH] Refactored logger. --- AI/src/at/dropical/wolliAI/AiMain.java | 4 +++- server/src/at/dropical/server/GameManager.java | 8 ++++---- server/src/at/dropical/server/Server.java | 12 ++++++------ server/src/at/dropical/server/WebInterface.java | 4 ++-- server/src/at/dropical/server/game/Game.java | 8 ++++---- .../at/dropical/server/gamefield/TetrisArena.java | 5 +++-- .../src/at/dropical/server/logging/LoggerSetup.java | 2 ++ .../server/transmitter/ObjectTransmitter.java | 2 +- 8 files changed, 25 insertions(+), 20 deletions(-) diff --git a/AI/src/at/dropical/wolliAI/AiMain.java b/AI/src/at/dropical/wolliAI/AiMain.java index fbdf06c..f3dd5d7 100644 --- a/AI/src/at/dropical/wolliAI/AiMain.java +++ b/AI/src/at/dropical/wolliAI/AiMain.java @@ -15,7 +15,8 @@ public class AiMain { public static void main(String[] args) throws InterruptedException { new AiMain(new ServerAdapter()).loop(); } - /** Called from Server. */ + /** Called from Server. + * May be wise to execute in other thread. */ public static void newAIconnection(String gameID) throws InterruptedException { new AiMain(new ServerAdapter(gameID)).loop(); } @@ -23,6 +24,7 @@ public static void newAIconnection(String gameID) throws InterruptedException { private AI ai; + /** The AI type is fixed. */ public AiMain(ServerAdapter adapter) { ai = new BestPossibilityAI(adapter); } diff --git a/server/src/at/dropical/server/GameManager.java b/server/src/at/dropical/server/GameManager.java index 6502416..da59bda 100644 --- a/server/src/at/dropical/server/GameManager.java +++ b/server/src/at/dropical/server/GameManager.java @@ -51,7 +51,7 @@ void endlesslyAcceptConnections() { } // The ServerSocket is died. No hope :'( } catch(IOException e) { - Server.log(Level.SEVERE, "IOException, ServerSocket probably faulty."); + Server.logger().log(Level.SEVERE, "IOException, ServerSocket probably faulty."); } } @@ -64,9 +64,9 @@ private void waitForJoinRequestAndJoin(Socket connection) { joinGame(request.getGameID(), request.getPlayerName(), request.wantsToPlayAgainsAI(), trans); } catch(ClassCastException e) { - Server.log(Level.WARNING, "ClassCastException -- class received is not a subclass of Request"); + Server.logger().log(Level.WARNING, "ClassCastException -- class received is not a subclass of Request"); } catch(IOException | RuntimeException e) { - Server.log(Level.WARNING, e.getLocalizedMessage()); + Server.logger().log(Level.WARNING, e.getLocalizedMessage()); } } @@ -109,7 +109,7 @@ private Game autoJoinOrCreateGame(String playerName, Transmitter trans) { } game[0].addPlayerAndStart(playerName, trans); - Server.log(Level.INFO, "Game "+ name +" added"); + Server.logger().log(Level.INFO, "Game "+ name +" added"); return game[0]; } diff --git a/server/src/at/dropical/server/Server.java b/server/src/at/dropical/server/Server.java index ad06ee2..ffaca22 100644 --- a/server/src/at/dropical/server/Server.java +++ b/server/src/at/dropical/server/Server.java @@ -39,7 +39,7 @@ public static void main(String[] args) { serverInstance.manager.endlesslyAcceptConnections(); } catch(IOException e) { - log(Level.SEVERE, e.toString()); + logger().log(Level.SEVERE, e.toString()); } finally { instance().executor.shutdownNow(); } @@ -60,10 +60,10 @@ public static Server instance() { return serverInstance; } - /** Log in a file and sout. - * fixme This is always used as the stack location in the message. Not useful. */ - public static void log(Level level, String msg) { - instance().logger.log(level, msg); + /** I tried to have a static Method Server.log() before, + * but then the stack trace always just shows that method. Not helpful. */ + public static Logger logger() { + return instance().logger; } /** Run some code concurrenty in the global Thread pool. */ @@ -82,7 +82,7 @@ static void startLocalAI(String gameID) { try { AiMain.newAIconnection(gameID); } catch(InterruptedException e) { - log(Level.INFO, "AI was interrupted."); + logger().log(Level.INFO, "AI was interrupted."); } }); diff --git a/server/src/at/dropical/server/WebInterface.java b/server/src/at/dropical/server/WebInterface.java index 5170b9d..9577e64 100644 --- a/server/src/at/dropical/server/WebInterface.java +++ b/server/src/at/dropical/server/WebInterface.java @@ -134,9 +134,9 @@ private void loadTemplate() { stringBuilder.append("\r\n"); } } catch (FileNotFoundException e) { - Server.log(Level.WARNING, "Template.html not found"); + Server.logger().log(Level.WARNING, "Template.html not found"); } catch (IOException e) { - Server.log(Level.WARNING, "Template.html -- io error"); + Server.logger().log(Level.WARNING, "Template.html -- io error"); } } diff --git a/server/src/at/dropical/server/game/Game.java b/server/src/at/dropical/server/game/Game.java index 277516c..9ee68d3 100644 --- a/server/src/at/dropical/server/game/Game.java +++ b/server/src/at/dropical/server/game/Game.java @@ -49,7 +49,7 @@ public void run() { Thread.sleep(10); } catch(InterruptedException e) { Thread.currentThread().interrupt(); - Server.log(Level.INFO, "Game was terminated"); + Server.logger().log(Level.INFO, "Game was terminated"); } } updateClients(); @@ -83,7 +83,7 @@ private void gameLoop() { } } catch (GameOverException e) { setCurrentGameState(new GameOverState(this,e.getLooserName())); - Server.log(Level.INFO,"Player "+e.getLooserName()+" lost his game."); + Server.logger().log(Level.INFO, "Player "+e.getLooserName()+" lost his game."); } } @@ -99,7 +99,7 @@ public void addPlayerAndStart(String playerName, Transmitter transmitter) { playerLock.lock(); if (games.size() < necessaryPlayers) { - Server.log(Level.INFO,"Player "+playerName+" added"); + Server.logger().log(Level.INFO, "Player "+playerName+" added"); players.add(new ServerToClientAdapter(transmitter)); games.put(playerName,new OnePlayer(playerName)); @@ -121,7 +121,7 @@ public void addViewer(ServerToClientAdapter transmitter) { } public void setCurrentGameState(at.dropical.server.gamestates.State currentGameState) { - Server.log(Level.INFO,"State changed to "+currentGameState.getClass()); + Server.logger().log(Level.INFO, "State changed to "+currentGameState.getClass()); this.currentGameState = currentGameState; updateClientsNextTime = true; diff --git a/server/src/at/dropical/server/gamefield/TetrisArena.java b/server/src/at/dropical/server/gamefield/TetrisArena.java index db34263..047a4c4 100644 --- a/server/src/at/dropical/server/gamefield/TetrisArena.java +++ b/server/src/at/dropical/server/gamefield/TetrisArena.java @@ -105,8 +105,9 @@ public boolean checkTetromino(Tetromino tetromino, int h, int w, boolean overTop public void placeTetromino(Tetromino tetromino, int h, int w) throws GameOverException { // Can it be placed here? if(!checkTetromino(tetromino, h, w, false)) { - Server.log(Level.WARNING, "The Tetronimo is in an invalid Position. This should never happen." + - "Bad luck for Player "+ player); // See addLines() + // See addLines() + Server.logger().log(Level.WARNING, "The Tetronimo is in an invalid Position. This should never happen." + + "Bad luck for Player "+ player); throw new GameOverException(player); } diff --git a/server/src/at/dropical/server/logging/LoggerSetup.java b/server/src/at/dropical/server/logging/LoggerSetup.java index f519704..dea90bd 100644 --- a/server/src/at/dropical/server/logging/LoggerSetup.java +++ b/server/src/at/dropical/server/logging/LoggerSetup.java @@ -43,5 +43,7 @@ static public void setup() throws IOException { formatterHTML = new HtmlLogFormatter(); fileHTML.setFormatter(formatterHTML); logger.addHandler(fileHTML); + + System.out.println("Logger setup finished."); } } \ No newline at end of file diff --git a/server/src/at/dropical/server/transmitter/ObjectTransmitter.java b/server/src/at/dropical/server/transmitter/ObjectTransmitter.java index 7a7bbc3..2715fa4 100644 --- a/server/src/at/dropical/server/transmitter/ObjectTransmitter.java +++ b/server/src/at/dropical/server/transmitter/ObjectTransmitter.java @@ -43,7 +43,7 @@ public void writeRequest(SendableItem r) { outputStream.writeObject(r); } catch (IOException e) { - Server.log(Level.SEVERE,"Couldn't send SendableItem " + r.getClass()); + Server.logger().log(Level.SEVERE, "Couldn't send SendableItem " + r.getClass()); } }