ServerSocial: remove Logger network handler to prevent duplicate messages on restart
authorTJ <hacker@iam.tj>
Wed, 10 Jun 2015 09:15:35 +0000 (10:15 +0100)
committerTJ <hacker@iam.tj>
Wed, 10 Jun 2015 09:15:35 +0000 (10:15 +0100)
src/uk/ac/ntu/n0521366/wsyd/server/ServerSocial.java

index 971d185..18c267f 100644 (file)
@@ -348,6 +348,13 @@ public final class ServerSocial implements NetworkMessageEventListener, Connecti
         }
         logp(Level.SEVERE, "Background threads terminated");
         result = writeMembers(_membersFile);
+        
+        // detach the network logger if it is in use
+        Handler handlers[] = LOGGER.getHandlers();
+        for (Handler handler: handlers) {
+            if (handler instanceof PacketHandler)
+                LOGGER.removeHandler(handler);
+        }
 
         return result;
     }