Clean up logging code duplication

This commit is contained in:
Aikar
2017-06-26 23:12:48 -04:00
parent f2e96ea244
commit 2e493fcb49
4 changed files with 33 additions and 57 deletions
@@ -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);
}
}
}
@@ -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);
}
}
}
}
@@ -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.
@@ -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);
}
}
}
}