diff --git a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java index ec8d8a8..13deb36 100755 --- a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java +++ b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java @@ -426,7 +426,9 @@ public class CommandsHandler implements CommandExecutor { rs.close(); } } catch (final SQLException ex) { - logblock.getLogger().log(Level.SEVERE, "[CommandsHandler] SQL exception on close", ex); + if (logblock.isCompletelyEnabled()) { + logblock.getLogger().log(Level.SEVERE, "[CommandsHandler] SQL exception on close", ex); + } } } } @@ -490,8 +492,10 @@ public class CommandsHandler implements CommandExecutor { getSession(sender).lookupCache = null; } } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[Lookup] " + params.getQuery() + ": ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[Lookup] " + params.getQuery() + ": ", ex); + } } finally { close(); } @@ -546,8 +550,10 @@ public class CommandsHandler implements CommandExecutor { writer.close(); sender.sendMessage(ChatColor.GREEN + "Wrote " + counter + " lines."); } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[WriteLogFile] " + params.getQuery() + " (file was " + file.getAbsolutePath() + "): ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[WriteLogFile] " + params.getQuery() + " (file was " + file.getAbsolutePath() + "): ", ex); + } } finally { close(); } @@ -606,8 +612,10 @@ public class CommandsHandler implements CommandExecutor { sender.sendMessage(ChatColor.RED + "No block change found to teleport to"); } } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[Teleport] " + params.getQuery() + ": ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[Teleport] " + params.getQuery() + ": ", ex); + } } finally { close(); } @@ -693,8 +701,10 @@ public class CommandsHandler implements CommandExecutor { } } } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[Rollback] " + params.getQuery() + ": ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[Rollback] " + params.getQuery() + ": ", ex); + } } finally { close(); } @@ -766,8 +776,10 @@ public class CommandsHandler implements CommandExecutor { editor.start(); sender.sendMessage(ChatColor.GREEN + "Redo finished successfully (" + editor.getElapsedTime() + " ms, " + editor.getSuccesses() + "/" + changes + " blocks" + (editor.getErrors() > 0 ? ", " + ChatColor.RED + editor.getErrors() + " errors" + ChatColor.GREEN : "") + (editor.getBlacklistCollisions() > 0 ? ", " + editor.getBlacklistCollisions() + " blacklist collisions" : "") + ")"); } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[Redo] " + params.getQuery() + ": ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[Redo] " + params.getQuery() + ": ", ex); + } } finally { close(); } @@ -841,8 +853,10 @@ public class CommandsHandler implements CommandExecutor { sender.sendMessage(ChatColor.GREEN + "Cleared out table " + table + "-chestdata. Deleted " + deleted + " entries."); } } catch (final Exception ex) { - sender.sendMessage(ChatColor.RED + "Exception, check error log"); - logblock.getLogger().log(Level.SEVERE, "[ClearLog] Exception: ", ex); + if (logblock.isCompletelyEnabled() || !(ex instanceof SQLException)) { + sender.sendMessage(ChatColor.RED + "Exception, check error log"); + logblock.getLogger().log(Level.SEVERE, "[ClearLog] Exception: ", ex); + } } finally { close(); } diff --git a/src/main/java/de/diddiz/LogBlock/LogBlock.java b/src/main/java/de/diddiz/LogBlock/LogBlock.java index ae95ba7..1c10bdc 100644 --- a/src/main/java/de/diddiz/LogBlock/LogBlock.java +++ b/src/main/java/de/diddiz/LogBlock/LogBlock.java @@ -40,11 +40,16 @@ public class LogBlock extends JavaPlugin { private boolean errorAtLoading = false, noDb = false, connected = true; private PlayerInfoLogging playerInfoLogging; private Questioner questioner; + private volatile boolean isCompletelyEnabled; public static LogBlock getInstance() { return logblock; } + public boolean isCompletelyEnabled() { + return isCompletelyEnabled; + } + public Consumer getConsumer() { return consumer; } @@ -120,7 +125,6 @@ public class LogBlock extends JavaPlugin { new DumpedLogImporter(this).run(); registerEvents(); consumer.start(); - getServer().getScheduler().runTaskAsynchronously(this, new Updater.PlayerCountChecker(this)); for (final Tool tool : toolsByType.values()) { if (pm.getPermission("logblock.tools." + tool.name) == null) { final Permission perm = new Permission("logblock.tools." + tool.name, tool.permissionDefault); @@ -128,6 +132,8 @@ public class LogBlock extends JavaPlugin { } } questioner = new Questioner(this); + isCompletelyEnabled = true; + getServer().getScheduler().runTaskAsynchronously(this, new Updater.PlayerCountChecker(this)); try { Metrics metrics = new Metrics(this); metrics.start(); @@ -204,6 +210,7 @@ public class LogBlock extends JavaPlugin { @Override public void onDisable() { + isCompletelyEnabled = false; if (timer != null) { timer.cancel(); } diff --git a/src/main/java/de/diddiz/LogBlock/Updater.java b/src/main/java/de/diddiz/LogBlock/Updater.java index ede6255..7d2af31 100644 --- a/src/main/java/de/diddiz/LogBlock/Updater.java +++ b/src/main/java/de/diddiz/LogBlock/Updater.java @@ -825,7 +825,9 @@ class Updater { st.close(); conn.close(); } catch (final SQLException ex) { - logblock.getLogger().log(Level.SEVERE, "[Updater] Error: ", ex); + if (logblock.isCompletelyEnabled()) { + logblock.getLogger().log(Level.SEVERE, "[Updater] Error: ", ex); + } } } }