diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index 59151272..3b0b8e1c 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -46,6 +46,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.logging.Level; +import java.util.logging.Logger; @SuppressWarnings("WeakerAccess") public class BukkitCommandManager extends CommandManager { @@ -201,28 +202,15 @@ public class BukkitCommandManager extends CommandManager { return new BukkitRegisteredCommand(command, cmdName, method, prefSubCommand); } - @Override - public void log(LogLevel level, String message) { - switch(level) { - case INFO: - this.plugin.getLogger().info(LogLevel.LOG_PREFIX + message); - return; - case ERROR: - this.plugin.getLogger().severe(LogLevel.LOG_PREFIX + message); - } - } - @Override public void log(LogLevel level, String message, Throwable throwable) { - switch(level) { - case INFO: - this.plugin.getLogger().log(Level.INFO, LogLevel.LOG_PREFIX + message, throwable); - return; - case ERROR: - this.plugin.getLogger().log(Level.SEVERE, LogLevel.LOG_PREFIX + message); - for(String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { - this.plugin.getLogger().severe(LogLevel.LOG_PREFIX + line); - } + Logger logger = this.plugin.getLogger(); + Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; + logger.log(logLevel, LogLevel.LOG_PREFIX + message); + if (throwable != null) { + for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { + logger.log(logLevel, LogLevel.LOG_PREFIX + line); + } } } diff --git a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java index 2ba99b4d..6f44e416 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java @@ -34,6 +34,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; +import java.util.logging.Logger; public class BungeeCommandManager extends CommandManager { @@ -119,28 +120,15 @@ public class BungeeCommandManager extends CommandManager { return new RegisteredCommand(command, cmdName, method, prefSubCommand); } - @Override - public void log(LogLevel level, String message) { - switch(level) { - case INFO: - this.plugin.getLogger().info(LogLevel.LOG_PREFIX + message); - return; - case ERROR: - this.plugin.getLogger().severe(LogLevel.LOG_PREFIX + message); - } - } - @Override public void log(LogLevel level, String message, Throwable throwable) { - switch(level) { - case INFO: - this.plugin.getLogger().log(Level.INFO, LogLevel.LOG_PREFIX + message, throwable); - return; - case ERROR: - this.plugin.getLogger().log(Level.SEVERE, LogLevel.LOG_PREFIX + message); - for(String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { - this.plugin.getLogger().severe(LogLevel.LOG_PREFIX + line); - } + Logger logger = this.plugin.getLogger(); + Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE; + logger.log(logLevel, LogLevel.LOG_PREFIX + message); + if (throwable != null) { + for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { + logger.log(logLevel, LogLevel.LOG_PREFIX + line); + } } } } diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index fd527b6d..19608700 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -68,10 +68,12 @@ abstract class CommandManager { public abstract CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args); - public abstract void log(final LogLevel level, final String message); - public abstract void log(final LogLevel level, final String message, final Throwable throwable); + public void log(final LogLevel level, final String message) { + log(level, message, null); + } + /** * Lets you add custom string replacements that can be applied to annotation values, * to reduce duplication/repetition of common values such as permission nodes and command prefixes. diff --git a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java index 8f6c91f3..3fb785b2 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java @@ -26,6 +26,7 @@ package co.aikar.commands; import co.aikar.commands.apachecommonslang.ApacheCommonsExceptionUtil; import co.aikar.timings.Timing; import co.aikar.timings.Timings; +import org.slf4j.Logger; import org.spongepowered.api.Sponge; import org.spongepowered.api.command.CommandSource; import org.spongepowered.api.plugin.PluginContainer; @@ -123,27 +124,24 @@ public class SpongeCommandManager extends CommandManager { return new SpongeRegisteredCommand(command, cmdName, method, prefSubCommand); } - @Override - public void log(final LogLevel level, final String message) { - switch(level) { - case INFO: - this.plugin.getLogger().info(LogLevel.LOG_PREFIX + message); - return; - case ERROR: - this.plugin.getLogger().error(LogLevel.LOG_PREFIX + message); - } - } - @Override public void log(final LogLevel level, final String message, final Throwable throwable) { + Logger logger = this.plugin.getLogger(); switch(level) { case INFO: - this.plugin.getLogger().info(LogLevel.LOG_PREFIX + message, throwable); + logger.info(LogLevel.LOG_PREFIX + message); + if (throwable != null) { + for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { + logger.info(LogLevel.LOG_PREFIX + line); + } + } return; case ERROR: - this.plugin.getLogger().error(LogLevel.LOG_PREFIX + message, throwable); - for(String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { - this.plugin.getLogger().error(LogLevel.LOG_PREFIX + line); + logger.error(LogLevel.LOG_PREFIX + message); + if (throwable != null) { + for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) { + logger.error(LogLevel.LOG_PREFIX + line); + } } } }