From b8c06904abb4825f03b7f1420a27e2e52d259ca3 Mon Sep 17 00:00:00 2001 From: Luck Date: Sat, 16 Jun 2018 16:59:59 +0100 Subject: [PATCH] Make logging messages a bit less obnoxious * Removed the ascii text from the startup output * Log messages (but not command output) is now sent through the standard server logger, and isn't colored --- bukkit/pom.xml | 33 +++--------- .../luckperms/bukkit/LPBukkitBootstrap.java | 13 +++++ .../luckperms/bukkit/LPBukkitPlugin.java | 2 +- bungee/pom.xml | 18 +++---- .../luckperms/bungee/LPBungeeBootstrap.java | 13 +++++ .../luckperms/bungee/LPBungeePlugin.java | 2 +- common/pom.xml | 16 +----- .../luckperms/common/config/ConfigKeys.java | 5 -- .../common/dependencies/Dependency.java | 7 +++ .../common/locale/message/Message.java | 3 -- .../plugin/AbstractLuckPermsPlugin.java | 31 +++++------ .../common/plugin/LuckPermsPlugin.java | 2 +- .../plugin/bootstrap/LuckPermsBootstrap.java | 8 +++ .../plugin/logging/JavaPluginLogger.java | 51 ++++++++++++++++++ .../{util => logging}/PluginLogger.java | 40 ++------------ .../plugin/logging/Slf4jPluginLogger.java | 51 ++++++++++++++++++ nukkit/pom.xml | 26 +++------ .../luckperms/nukkit/LPNukkitBootstrap.java | 12 +++++ .../luckperms/nukkit/LPNukkitPlugin.java | 2 +- .../luckperms/nukkit/NukkitPluginLogger.java | 53 +++++++++++++++++++ sponge/pom.xml | 18 +++---- .../luckperms/sponge/LPSpongeBootstrap.java | 25 +++++---- .../luckperms/sponge/LPSpongePlugin.java | 4 +- 23 files changed, 275 insertions(+), 160 deletions(-) create mode 100644 common/src/main/java/me/lucko/luckperms/common/plugin/logging/JavaPluginLogger.java rename common/src/main/java/me/lucko/luckperms/common/plugin/{util => logging}/PluginLogger.java (54%) create mode 100644 common/src/main/java/me/lucko/luckperms/common/plugin/logging/Slf4jPluginLogger.java create mode 100644 nukkit/src/main/java/me/lucko/luckperms/nukkit/NukkitPluginLogger.java diff --git a/bukkit/pom.xml b/bukkit/pom.xml index db333e045..28c2a2975 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -44,14 +44,18 @@ false false + + + me.lucko.luckperms:luckperms-common + me.lucko.luckperms:luckperms-api + + - + net.kyori.text me.lucko.luckperms.lib.text - - com.github.benmanes.caffeine me.lucko.luckperms.lib.caffeine @@ -117,29 +121,6 @@ compile - - - com.google.code.findbugs - jsr305 - 3.0.2 - provided - - - - - com.github.ben-manes.caffeine - caffeine - 2.6.2 - provided - - - - com.zaxxer - HikariCP - 3.2.0 - provided - - org.spigotmc diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitBootstrap.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitBootstrap.java index 59128f801..a4fab9703 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitBootstrap.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitBootstrap.java @@ -30,6 +30,8 @@ import me.lucko.luckperms.bukkit.compat.NullSafeConsoleCommandSender; import me.lucko.luckperms.common.dependencies.classloader.PluginClassLoader; import me.lucko.luckperms.common.dependencies.classloader.ReflectionClassLoader; import me.lucko.luckperms.common.plugin.bootstrap.LuckPermsBootstrap; +import me.lucko.luckperms.common.plugin.logging.JavaPluginLogger; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import org.bukkit.OfflinePlayer; import org.bukkit.Server; @@ -49,6 +51,11 @@ import java.util.stream.Stream; */ public class LPBukkitBootstrap extends JavaPlugin implements LuckPermsBootstrap { + /** + * The plugin logger + */ + private final PluginLogger logger; + /** * A scheduler adapter for the platform */ @@ -83,6 +90,7 @@ public class LPBukkitBootstrap extends JavaPlugin implements LuckPermsBootstrap private boolean incompatibleVersion = false; public LPBukkitBootstrap() { + this.logger = new JavaPluginLogger(getLogger()); this.schedulerAdapter = new BukkitSchedulerAdapter(this); this.classLoader = new ReflectionClassLoader(this); this.console = new NullSafeConsoleCommandSender(getServer()); @@ -91,6 +99,11 @@ public class LPBukkitBootstrap extends JavaPlugin implements LuckPermsBootstrap // provide adapters + @Override + public PluginLogger getPluginLogger() { + return this.logger; + } + @Override public BukkitSchedulerAdapter getScheduler() { return this.schedulerAdapter; 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 a91ec29cd..16335e7c7 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java @@ -115,7 +115,7 @@ public class LPBukkitPlugin extends AbstractLuckPermsPlugin { @Override protected Set getGlobalDependencies() { - return EnumSet.of(Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); + return EnumSet.of(Dependency.TEXT, Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); } @Override diff --git a/bungee/pom.xml b/bungee/pom.xml index 4def97861..7c370c3fa 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -44,14 +44,18 @@ false false + + + me.lucko.luckperms:luckperms-common + me.lucko.luckperms:luckperms-api + + - + net.kyori.text me.lucko.luckperms.lib.text - - com.github.benmanes.caffeine me.lucko.luckperms.lib.caffeine @@ -117,14 +121,6 @@ compile - - - com.google.code.findbugs - jsr305 - 3.0.2 - provided - - net.md-5 diff --git a/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeeBootstrap.java b/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeeBootstrap.java index 20f484179..538779e15 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeeBootstrap.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeeBootstrap.java @@ -30,6 +30,8 @@ import me.lucko.luckperms.bungee.util.RedisBungeeUtil; import me.lucko.luckperms.common.dependencies.classloader.PluginClassLoader; import me.lucko.luckperms.common.dependencies.classloader.ReflectionClassLoader; import me.lucko.luckperms.common.plugin.bootstrap.LuckPermsBootstrap; +import me.lucko.luckperms.common.plugin.logging.JavaPluginLogger; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import me.lucko.luckperms.common.plugin.scheduler.SchedulerAdapter; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -47,6 +49,11 @@ import java.util.stream.Stream; */ public class LPBungeeBootstrap extends Plugin implements LuckPermsBootstrap { + /** + * The plugin logger + */ + private final PluginLogger logger; + /** * A scheduler adapter for the platform */ @@ -72,6 +79,7 @@ public class LPBungeeBootstrap extends Plugin implements LuckPermsBootstrap { private final CountDownLatch enableLatch = new CountDownLatch(1); public LPBungeeBootstrap() { + this.logger = new JavaPluginLogger(getLogger()); this.schedulerAdapter = new BungeeSchedulerAdapter(this); this.classLoader = new ReflectionClassLoader(this); this.plugin = new LPBungeePlugin(this); @@ -79,6 +87,11 @@ public class LPBungeeBootstrap extends Plugin implements LuckPermsBootstrap { // provide adapters + @Override + public PluginLogger getPluginLogger() { + return this.logger; + } + @Override public SchedulerAdapter getScheduler() { return this.schedulerAdapter; 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 e2ed44a10..11183d110 100644 --- a/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java +++ b/bungee/src/main/java/me/lucko/luckperms/bungee/LPBungeePlugin.java @@ -94,7 +94,7 @@ public class LPBungeePlugin extends AbstractLuckPermsPlugin { @Override protected Set getGlobalDependencies() { - return EnumSet.of(Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); + return EnumSet.of(Dependency.TEXT, Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); } @Override diff --git a/common/pom.xml b/common/pom.xml index ec6d1ee1e..851014944 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -41,7 +41,7 @@ com.google.code.findbugs jsr305 3.0.2 - provided + compile @@ -76,35 +76,30 @@ com.google.code.gson gson 2.7 - provided com.google.guava guava 19.0 - provided com.github.ben-manes.caffeine caffeine 2.6.2 - provided com.squareup.okhttp3 okhttp 3.10.0 - provided com.squareup.okio okio 1.14.1 - provided @@ -112,7 +107,6 @@ me.lucko.configurate configurate-core 3.5 - provided com.google.guava @@ -125,7 +119,6 @@ me.lucko.configurate configurate-yaml 3.5 - provided org.yaml @@ -138,7 +131,6 @@ me.lucko.configurate configurate-gson 3.5 - provided com.google.code.gson @@ -151,14 +143,12 @@ me.lucko.configurate configurate-hocon 3.5 - provided me.lucko.configurate configurate-toml 3.5 - provided com.moandjiezana.toml @@ -171,28 +161,24 @@ com.zaxxer HikariCP 3.2.0 - provided redis.clients jedis 2.9.0 - provided org.mongodb mongo-java-driver 3.7.1 - provided org.yaml snakeyaml 1.14 - provided 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 bc03db973..410ff2017 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 @@ -180,11 +180,6 @@ public final 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/dependencies/Dependency.java b/common/src/main/java/me/lucko/luckperms/common/dependencies/Dependency.java index 030ad6aee..50be6d8e1 100644 --- a/common/src/main/java/me/lucko/luckperms/common/dependencies/Dependency.java +++ b/common/src/main/java/me/lucko/luckperms/common/dependencies/Dependency.java @@ -59,6 +59,13 @@ public enum Dependency { "mmz3ltQbS8xXGA2scM0ZH6raISlt4nukjCiU2l9Jxfs=" ), + TEXT( + "net{}kyori", + "text", + "1.11-1.4.0", + "drQpwf+oI1+DPrn0iCvEtoID+xXR3dpZK5ySaBrUiok=", + Relocation.of("text", "net{}kyori{}text") + ), CAFFEINE( "com{}github{}ben-manes{}caffeine", "caffeine", diff --git a/common/src/main/java/me/lucko/luckperms/common/locale/message/Message.java b/common/src/main/java/me/lucko/luckperms/common/locale/message/Message.java index 532479ea4..a8165c79f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/locale/message/Message.java +++ b/common/src/main/java/me/lucko/luckperms/common/locale/message/Message.java @@ -60,9 +60,6 @@ public enum Message { /* * Logging */ - LOG_INFO("&7&l[&bL&3P&7&l] &3{}", false), - LOG_WARN("&7&l[&bLuck&3Perms&7&l] &c[WARN] {}", false), - LOG_ERROR("&7&l[&bLuck&3Perms&7&l] &4[ERROR] {}", false), LOG( "{PREFIX}&3LOG &3&l> &8(&e{}&8) [&a{}&8] (&b{}&8)" + "\n" + "{PREFIX}&3LOG &3&l> &f{}", diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java b/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java index 902dc815c..dd3bc6391 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java @@ -46,7 +46,7 @@ import me.lucko.luckperms.common.inheritance.InheritanceHandler; import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.messaging.InternalMessagingService; import me.lucko.luckperms.common.messaging.MessagingFactory; -import me.lucko.luckperms.common.plugin.util.PluginLogger; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import me.lucko.luckperms.common.sender.Sender; import me.lucko.luckperms.common.storage.Storage; import me.lucko.luckperms.common.storage.StorageFactory; @@ -64,7 +64,6 @@ import java.util.concurrent.TimeUnit; public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { // init during load - private PluginLogger logger; private DependencyManager dependencyManager; // init during enable @@ -86,13 +85,12 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { * Performs the initial actions to load the plugin */ public final void load() { - // load the sender factory instance and create a new logger for the plugin - setupSenderFactory(); - this.logger = new PluginLogger(this, getConsoleSender()); - // load dependencies this.dependencyManager = new DependencyManager(this); this.dependencyManager.loadDependencies(getGlobalDependencies()); + + // load the sender factory instance + setupSenderFactory(); } public final void enable() { @@ -237,6 +235,11 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { protected void removePlatformHooks() {} + @Override + public PluginLogger getLogger() { + return getBootstrap().getPluginLogger(); + } + @Override public void setMessagingService(InternalMessagingService messagingService) { if (this.messagingService == null) { @@ -244,11 +247,6 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { } } - @Override - public PluginLogger getLogger() { - return this.logger; - } - @Override public DependencyManager getDependencyManager() { return this.dependencyManager; @@ -320,12 +318,9 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { } private void displayBanner(Sender sender) { - sender.sendMessage(MessageUtils.color("&b __ &3 __ ___ __ __ ")); - sender.sendMessage(MessageUtils.color("&b | | | / ` |__/ &3|__) |__ |__) |\\/| /__` ")); - sender.sendMessage(MessageUtils.color("&b |___ \\__/ \\__, | \\ &3| |___ | \\ | | .__/ ")); - sender.sendMessage(MessageUtils.color(" ")); - sender.sendMessage(MessageUtils.color("&2 Loading version &bv" + getBootstrap().getVersion() + "&2 on " + getBootstrap().getType().getFriendlyName() + " - " + getBootstrap().getServerBrand())); - sender.sendMessage(MessageUtils.color("&8 Running on server version " + getBootstrap().getServerVersion())); - sender.sendMessage(MessageUtils.color(" ")); + sender.sendMessage(MessageUtils.color("&b &3 __ ")); + sender.sendMessage(MessageUtils.color("&b | &3|__) " + "&2LuckPerms &bv" + getBootstrap().getVersion())); + sender.sendMessage(MessageUtils.color("&b |___ &3| " + "&8running on " + getBootstrap().getType().getFriendlyName() + " - " + getBootstrap().getServerBrand())); + sender.sendMessage(""); } } diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java b/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java index 635f24b36..f86e0aeff 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java @@ -44,8 +44,8 @@ import me.lucko.luckperms.common.managers.user.UserManager; import me.lucko.luckperms.common.messaging.InternalMessagingService; import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.plugin.bootstrap.LuckPermsBootstrap; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import me.lucko.luckperms.common.plugin.util.AbstractConnectionListener; -import me.lucko.luckperms.common.plugin.util.PluginLogger; import me.lucko.luckperms.common.sender.Sender; import me.lucko.luckperms.common.storage.Storage; import me.lucko.luckperms.common.storage.dao.file.FileWatcher; diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/bootstrap/LuckPermsBootstrap.java b/common/src/main/java/me/lucko/luckperms/common/plugin/bootstrap/LuckPermsBootstrap.java index 22e370ff2..a6227a09b 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/bootstrap/LuckPermsBootstrap.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/bootstrap/LuckPermsBootstrap.java @@ -27,6 +27,7 @@ package me.lucko.luckperms.common.plugin.bootstrap; import me.lucko.luckperms.api.platform.PlatformType; import me.lucko.luckperms.common.dependencies.classloader.PluginClassLoader; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import me.lucko.luckperms.common.plugin.scheduler.SchedulerAdapter; import java.io.InputStream; @@ -48,6 +49,13 @@ import javax.annotation.Nullable; */ public interface LuckPermsBootstrap { + /** + * Gets the plugin logger + * + * @return the logger + */ + PluginLogger getPluginLogger(); + /** * Gets an adapter for the platforms scheduler * diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/logging/JavaPluginLogger.java b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/JavaPluginLogger.java new file mode 100644 index 000000000..fd986ba31 --- /dev/null +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/JavaPluginLogger.java @@ -0,0 +1,51 @@ +/* + * This file is part of LuckPerms, licensed under the MIT License. + * + * Copyright (c) lucko (Luck) + * Copyright (c) contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.lucko.luckperms.common.plugin.logging; + +import java.util.logging.Logger; + +public class JavaPluginLogger implements PluginLogger { + private final Logger logger; + + public JavaPluginLogger(Logger logger) { + this.logger = logger; + } + + @Override + public void info(String s) { + this.logger.info(s); + } + + @Override + public void warn(String s) { + this.logger.warning(s); + } + + @Override + public void severe(String s) { + this.logger.severe(s); + } +} diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/util/PluginLogger.java b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/PluginLogger.java similarity index 54% rename from common/src/main/java/me/lucko/luckperms/common/plugin/util/PluginLogger.java rename to common/src/main/java/me/lucko/luckperms/common/plugin/logging/PluginLogger.java index b4cfd4cd9..e8f3a24ca 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/util/PluginLogger.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/PluginLogger.java @@ -23,15 +23,7 @@ * SOFTWARE. */ -package me.lucko.luckperms.common.plugin.util; - -import me.lucko.luckperms.common.command.utils.MessageUtils; -import me.lucko.luckperms.common.config.ConfigKeys; -import me.lucko.luckperms.common.locale.message.Message; -import me.lucko.luckperms.common.plugin.LuckPermsPlugin; -import me.lucko.luckperms.common.sender.Sender; - -import java.util.Objects; +package me.lucko.luckperms.common.plugin.logging; /** * Represents the logger instance being used by LuckPerms on the platform. @@ -39,32 +31,10 @@ import java.util.Objects; *

Messages sent using the logger are sent prefixed with the LuckPerms tag, * and on some implementations will be colored depending on the message type.

*/ -public class PluginLogger { - private final LuckPermsPlugin plugin; - private final Sender console; +public interface PluginLogger { - public PluginLogger(LuckPermsPlugin plugin, Sender console) { - this.plugin = plugin; - this.console = console; - } + void info(String s); + void warn(String s); + void severe(String s); - public void info(String s) { - msg(Message.LOG_INFO, Objects.requireNonNull(s)); - } - - public void warn(String s) { - msg(Message.LOG_WARN, Objects.requireNonNull(s)); - } - - public void severe(String s) { - msg(Message.LOG_ERROR, Objects.requireNonNull(s)); - } - - private void msg(Message message, String s) { - String msg = message.asString(this.plugin.getLocaleManager(), s); - if (this.plugin.getConfiguration() != null && !this.plugin.getConfiguration().get(ConfigKeys.USE_COLORED_LOGGER)) { - msg = MessageUtils.stripColor(msg); - } - this.console.sendMessage(msg); - } } diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/logging/Slf4jPluginLogger.java b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/Slf4jPluginLogger.java new file mode 100644 index 000000000..7408f8d4f --- /dev/null +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/logging/Slf4jPluginLogger.java @@ -0,0 +1,51 @@ +/* + * This file is part of LuckPerms, licensed under the MIT License. + * + * Copyright (c) lucko (Luck) + * Copyright (c) contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.lucko.luckperms.common.plugin.logging; + +import org.slf4j.Logger; + +public class Slf4jPluginLogger implements PluginLogger { + private final Logger logger; + + public Slf4jPluginLogger(Logger logger) { + this.logger = logger; + } + + @Override + public void info(String s) { + this.logger.info(s); + } + + @Override + public void warn(String s) { + this.logger.warn(s); + } + + @Override + public void severe(String s) { + this.logger.error(s); + } +} diff --git a/nukkit/pom.xml b/nukkit/pom.xml index c9173ba09..c824969cd 100644 --- a/nukkit/pom.xml +++ b/nukkit/pom.xml @@ -44,14 +44,18 @@ false false + + + me.lucko.luckperms:luckperms-common + me.lucko.luckperms:luckperms-api + + - + net.kyori.text me.lucko.luckperms.lib.text - - com.github.benmanes.caffeine me.lucko.luckperms.lib.caffeine @@ -117,22 +121,6 @@ compile - - - com.google.code.findbugs - jsr305 - 3.0.2 - provided - - - - - com.github.ben-manes.caffeine - caffeine - 2.6.2 - provided - - cn.nukkit diff --git a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitBootstrap.java b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitBootstrap.java index eced2a49a..b816d3bd2 100644 --- a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitBootstrap.java +++ b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitBootstrap.java @@ -29,6 +29,7 @@ import me.lucko.luckperms.api.platform.PlatformType; import me.lucko.luckperms.common.dependencies.classloader.PluginClassLoader; import me.lucko.luckperms.common.dependencies.classloader.ReflectionClassLoader; import me.lucko.luckperms.common.plugin.bootstrap.LuckPermsBootstrap; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; import cn.nukkit.Player; import cn.nukkit.plugin.PluginBase; @@ -45,6 +46,11 @@ import java.util.stream.Stream; */ public class LPNukkitBootstrap extends PluginBase implements LuckPermsBootstrap { + /** + * The plugin logger + */ + private final PluginLogger logger; + /** * A scheduler adapter for the platform */ @@ -70,6 +76,7 @@ public class LPNukkitBootstrap extends PluginBase implements LuckPermsBootstrap private final CountDownLatch enableLatch = new CountDownLatch(1); public LPNukkitBootstrap() { + this.logger = new NukkitPluginLogger(getLogger()); this.schedulerAdapter = new NukkitSchedulerAdapter(this); this.classLoader = new ReflectionClassLoader(this); this.plugin = new LPNukkitPlugin(this); @@ -77,6 +84,11 @@ public class LPNukkitBootstrap extends PluginBase implements LuckPermsBootstrap // provide adapters + @Override + public PluginLogger getPluginLogger() { + return this.logger; + } + @Override public NukkitSchedulerAdapter getScheduler() { return this.schedulerAdapter; diff --git a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java index cb904906a..6032cead8 100644 --- a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java +++ b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java @@ -111,7 +111,7 @@ public class LPNukkitPlugin extends AbstractLuckPermsPlugin { @Override protected Set getGlobalDependencies() { - return EnumSet.of(Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); + return EnumSet.of(Dependency.TEXT, Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP); } @Override diff --git a/nukkit/src/main/java/me/lucko/luckperms/nukkit/NukkitPluginLogger.java b/nukkit/src/main/java/me/lucko/luckperms/nukkit/NukkitPluginLogger.java new file mode 100644 index 000000000..b58547fab --- /dev/null +++ b/nukkit/src/main/java/me/lucko/luckperms/nukkit/NukkitPluginLogger.java @@ -0,0 +1,53 @@ +/* + * This file is part of LuckPerms, licensed under the MIT License. + * + * Copyright (c) lucko (Luck) + * Copyright (c) contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.lucko.luckperms.nukkit; + +import me.lucko.luckperms.common.plugin.logging.PluginLogger; + +import cn.nukkit.utils.Logger; + +public class NukkitPluginLogger implements PluginLogger { + private final Logger logger; + + public NukkitPluginLogger(cn.nukkit.plugin.PluginLogger logger) { + this.logger = logger; + } + + @Override + public void info(String s) { + this.logger.info(s); + } + + @Override + public void warn(String s) { + this.logger.warning(s); + } + + @Override + public void severe(String s) { + this.logger.error(s); + } +} diff --git a/sponge/pom.xml b/sponge/pom.xml index de18480f6..9c2adb401 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -44,14 +44,18 @@ false false + + + me.lucko.luckperms:luckperms-common + me.lucko.luckperms:luckperms-api + + - + net.kyori.text me.lucko.luckperms.lib.text - - com.github.benmanes.caffeine me.lucko.luckperms.lib.caffeine @@ -177,14 +181,6 @@ - - - - me.lucko.configurate - configurate-hocon - 3.5 - provided - diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongeBootstrap.java b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongeBootstrap.java index ed51e24ba..d0c2eb6b8 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongeBootstrap.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongeBootstrap.java @@ -31,6 +31,8 @@ import me.lucko.luckperms.api.platform.PlatformType; import me.lucko.luckperms.common.dependencies.classloader.PluginClassLoader; import me.lucko.luckperms.common.dependencies.classloader.ReflectionClassLoader; import me.lucko.luckperms.common.plugin.bootstrap.LuckPermsBootstrap; +import me.lucko.luckperms.common.plugin.logging.PluginLogger; +import me.lucko.luckperms.common.plugin.logging.Slf4jPluginLogger; import me.lucko.luckperms.common.plugin.scheduler.SchedulerAdapter; import me.lucko.luckperms.common.utils.MoreFiles; import me.lucko.luckperms.sponge.utils.VersionData; @@ -74,6 +76,11 @@ import java.util.stream.Stream; ) public class LPSpongeBootstrap implements LuckPermsBootstrap { + /** + * The plugin logger + */ + private final PluginLogger logger; + /** * A scheduler adapter for the platform */ @@ -98,12 +105,6 @@ public class LPSpongeBootstrap implements LuckPermsBootstrap { private final CountDownLatch loadLatch = new CountDownLatch(1); private final CountDownLatch enableLatch = new CountDownLatch(1); - /** - * Injected plugin logger - */ - @Inject - private Logger logger; - /** * Reference to the central {@link Game} instance in the API */ @@ -129,7 +130,8 @@ public class LPSpongeBootstrap implements LuckPermsBootstrap { private PluginContainer pluginContainer; @Inject - public LPSpongeBootstrap(@SynchronousExecutor SpongeExecutorService syncExecutor, @AsynchronousExecutor SpongeExecutorService asyncExecutor) { + public LPSpongeBootstrap(Logger logger, @SynchronousExecutor SpongeExecutorService syncExecutor, @AsynchronousExecutor SpongeExecutorService asyncExecutor) { + this.logger = new Slf4jPluginLogger(logger); this.spongeScheduler = Sponge.getScheduler(); this.schedulerAdapter = new SpongeSchedulerAdapter(this, this.spongeScheduler, syncExecutor, asyncExecutor); this.classLoader = new ReflectionClassLoader(this); @@ -138,6 +140,11 @@ public class LPSpongeBootstrap implements LuckPermsBootstrap { // provide adapters + @Override + public PluginLogger getPluginLogger() { + return this.logger; + } + @Override public SchedulerAdapter getScheduler() { return this.schedulerAdapter; @@ -188,10 +195,6 @@ public class LPSpongeBootstrap implements LuckPermsBootstrap { // getters for the injected sponge instances - public Logger getLogger() { - return this.logger; - } - public Game getGame() { return this.game; } 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 d42805c0e..f37075cae 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java @@ -112,7 +112,7 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { @Override protected Set getGlobalDependencies() { - return EnumSet.of(Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP, + return EnumSet.of(Dependency.TEXT, Dependency.CAFFEINE, Dependency.OKIO, Dependency.OKHTTP, Dependency.CONFIGURATE_CORE, Dependency.CONFIGURATE_HOCON, Dependency.HOCON_CONFIG); } @@ -260,7 +260,7 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { return new DummySender(this, CommandManager.CONSOLE_UUID, CommandManager.CONSOLE_NAME) { @Override protected void consumeMessage(String s) { - LPSpongePlugin.this.bootstrap.getLogger().info(s); + LPSpongePlugin.this.bootstrap.getPluginLogger().info(s); } }; }