From 400f3a9156f07078447a0edb421227b7716e43fd Mon Sep 17 00:00:00 2001 From: Luck Date: Tue, 18 Jul 2017 17:58:19 +0100 Subject: [PATCH] Add option to disable colored logging (#382) --- .../lucko/luckperms/bukkit/LPBukkitPlugin.java | 2 +- .../lucko/luckperms/bungee/LPBungeePlugin.java | 2 +- .../luckperms/common/config/ConfigKeys.java | 5 +++++ .../luckperms/common/utils/SenderLogger.java | 18 +++++++++++++++--- .../lucko/luckperms/sponge/LPSpongePlugin.java | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java index 4b9ee16e..d79c3f52 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java @@ -141,7 +141,7 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin { scheduler = new LPBukkitScheduler(this); localeManager = new NoopLocaleManager(); senderFactory = new BukkitSenderFactory(this); - log = new SenderLogger(getConsoleSender()); + log = new SenderLogger(this, getConsoleSender()); DependencyManager.loadDependencies(this, Collections.singletonList(Dependency.CAFFEINE)); } diff --git a/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java b/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java index 8483c066..f96d8a24 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java @@ -118,7 +118,7 @@ public class LPBungeePlugin extends Plugin implements LuckPermsPlugin { scheduler = new LPBungeeScheduler(this); localeManager = new NoopLocaleManager(); senderFactory = new BungeeSenderFactory(this); - log = new SenderLogger(getConsoleSender()); + log = new SenderLogger(this, getConsoleSender()); DependencyManager.loadDependencies(this, Collections.singletonList(Dependency.CAFFEINE)); } diff --git a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java index 105ab4b7..bba8f318 100644 --- a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java +++ b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java @@ -165,6 +165,11 @@ public class ConfigKeys { */ public static final ConfigKey USE_ARGUMENT_BASED_COMMAND_PERMISSIONS = BooleanKey.of("argument-based-command-permissions", false); + /** + * If the plugin should log messages to the console in color. + */ + public static final ConfigKey USE_COLORED_LOGGER = BooleanKey.of("colored-logger", true); + /** * If wildcards are being applied */ diff --git a/common/src/main/java/me/lucko/luckperms/common/utils/SenderLogger.java b/common/src/main/java/me/lucko/luckperms/common/utils/SenderLogger.java index 2aa4a213..c571cb46 100644 --- a/common/src/main/java/me/lucko/luckperms/common/utils/SenderLogger.java +++ b/common/src/main/java/me/lucko/luckperms/common/utils/SenderLogger.java @@ -30,24 +30,36 @@ import lombok.NonNull; import me.lucko.luckperms.api.Logger; import me.lucko.luckperms.common.commands.sender.Sender; +import me.lucko.luckperms.common.commands.utils.Util; +import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.locale.Message; +import me.lucko.luckperms.common.plugin.LuckPermsPlugin; @AllArgsConstructor public class SenderLogger implements Logger { + private final LuckPermsPlugin plugin; private final Sender console; @Override public void info(@NonNull String s) { - Message.LOG_INFO.send(console, s); + msg(Message.LOG_INFO, s); } @Override public void warn(@NonNull String s) { - Message.LOG_WARN.send(console, s); + msg(Message.LOG_WARN, s); } @Override public void severe(@NonNull String s) { - Message.LOG_ERROR.send(console, s); + msg(Message.LOG_ERROR, s); + } + + private void msg(Message message, String s) { + String msg = message.asString(plugin.getLocaleManager(), s); + if (plugin.getConfiguration() != null && !plugin.getConfiguration().get(ConfigKeys.USE_COLORED_LOGGER)) { + msg = Util.stripColor(msg); + } + console.sendMessage(msg); } } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java index 54ea7442..da1b62a7 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java @@ -175,7 +175,7 @@ public class LPSpongePlugin implements LuckPermsPlugin { scheduler = new LPSpongeScheduler(this); localeManager = new NoopLocaleManager(); senderFactory = new SpongeSenderFactory(this); - log = new SenderLogger(getConsoleSender()); + log = new SenderLogger(this, getConsoleSender()); LuckPermsPlugin.sendStartupBanner(getConsoleSender(), this); verboseHandler = new VerboseHandler(scheduler.async(), getVersion());