From a0ae6ec550aee32e6b0be532451b4dea54dc755f Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Wed, 3 Jul 2024 18:02:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20PluginLogger=20?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/core/bukkit/HamsterCorePlugin.java | 4 +- .../core/bukkit/constant/CoreMessage.java | 11 +- .../core/bukkit/util/BukkitPluginLogger.java | 100 ++++++++++++++++++ .../plugin/core/bungee/HamsterCorePlugin.java | 5 +- .../core/bungee/util/BungeePluginLogger.java | 100 ++++++++++++++++++ gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 209 insertions(+), 13 deletions(-) create mode 100644 core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitPluginLogger.java create mode 100644 core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/BungeePluginLogger.java diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java index 6047a14..48bd531 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java @@ -33,6 +33,7 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.StandardCopyOption; +import java.util.logging.Level; import java.util.logging.Logger; public class HamsterCorePlugin extends JavaPlugin { @@ -87,8 +88,7 @@ public class HamsterCorePlugin extends JavaPlugin { CoreBukkitAPI.init(configFile); logger.info("已初始化 CoreAPI"); } catch (Exception e) { - logger.warning("初始化 CoreAPI 出错"); - e.printStackTrace(); + logger.log(Level.WARNING, "初始化 CoreAPI 出错", e); } CoreMessage.init(this); logger.info("已初始化语言文本"); diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/constant/CoreMessage.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/constant/CoreMessage.java index 8337548..2879851 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/constant/CoreMessage.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/constant/CoreMessage.java @@ -14,6 +14,7 @@ import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; +import java.util.logging.Level; @Getter public enum CoreMessage { @@ -70,7 +71,6 @@ public enum CoreMessage { this.message = new DisplayMessage().setMessage(message); } - @SuppressWarnings("CallToPrintStackTrace") public static void init(@NotNull Plugin plugin) { File dataFolder = plugin.getDataFolder(); if (dataFolder.mkdirs()) { @@ -82,8 +82,7 @@ public enum CoreMessage { try { config.load(file); } catch (Exception e) { - plugin.getLogger().warning("加载消息配置文件时出现了一个异常:"); - e.printStackTrace(); + plugin.getLogger().log(Level.WARNING, "加载消息配置文件时出现了一个异常:", e); } } for (CoreMessage value : values()) { @@ -96,15 +95,13 @@ public enum CoreMessage { try { value.message = CoreBukkitUtils.loadDisplayMessage(section); } catch (Exception e) { - plugin.getLogger().warning("加载消息设置 " + value.name() + " 时遇到了一个异常: "); - e.printStackTrace(); + plugin.getLogger().log(Level.WARNING, "加载消息设置 " + value.name() + " 时遇到了一个异常: ", e); } } try { config.save(file); } catch (IOException e) { - plugin.getLogger().warning("保存消息配置文件时出现了一个异常:"); - e.printStackTrace(); + plugin.getLogger().log(Level.WARNING, "保存消息配置文件时出现了一个异常:", e); } } diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitPluginLogger.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitPluginLogger.java new file mode 100644 index 0000000..f58517c --- /dev/null +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitPluginLogger.java @@ -0,0 +1,100 @@ +package cn.hamster3.mc.plugin.core.bukkit.util; + +import lombok.Getter; +import org.bukkit.plugin.Plugin; +import org.jetbrains.annotations.NotNull; + +import java.util.Arrays; +import java.util.logging.Level; +import java.util.logging.Logger; + +@Getter +@SuppressWarnings("unused") +public class BukkitPluginLogger { + @NotNull + private final Plugin plugin; + @NotNull + private final Logger logger; + + public BukkitPluginLogger(@NotNull Plugin plugin) { + this.plugin = plugin; + logger = plugin.getLogger(); + } + + public void log(@NotNull Level level, @NotNull String msg) { + logger.log(level, msg); + } + + public void log(@NotNull Level level, @NotNull String msg, @NotNull Object... args) { + try { + logger.log(level, String.format(msg, args)); + } catch (Exception e) { + logger.log(Level.WARNING, "输出日志 " + msg + " 时遇到一个异常"); + logger.log(Level.WARNING, "日志参数: " + Arrays.toString(args)); + logger.log(Level.WARNING, "异常信息: ", e); + } + } + + public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg) { + logger.log(level, msg, throwable); + } + + public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + try { + logger.log(level, String.format(msg, args), throwable); + } catch (Exception e) { + logger.log(Level.WARNING, "输出日志 " + msg + " 时遇到一个异常"); + logger.log(Level.WARNING, "日志参数: " + Arrays.toString(args)); + logger.log(Level.WARNING, "异常参数: ", throwable); + logger.log(Level.WARNING, "异常信息: ", e); + } + } + + public void info(@NotNull String msg) { + log(Level.INFO, msg); + } + + public void info(@NotNull String msg, @NotNull Object... args) { + log(Level.INFO, msg, args); + } + + public void info(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.INFO, throwable, msg); + } + + public void info(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.INFO, throwable, msg, args); + } + + public void warn(@NotNull String msg) { + log(Level.WARNING, msg); + } + + public void warn(@NotNull String msg, @NotNull Object... args) { + log(Level.WARNING, msg, args); + } + + public void warn(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.WARNING, throwable, msg); + } + + public void warn(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.WARNING, throwable, msg, args); + } + + public void error(@NotNull String msg) { + log(Level.SEVERE, msg); + } + + public void error(@NotNull String msg, @NotNull Object... args) { + log(Level.SEVERE, msg, args); + } + + public void error(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.SEVERE, throwable, msg); + } + + public void error(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.SEVERE, throwable, msg, args); + } +} diff --git a/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java b/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java index 9af906f..bed756f 100644 --- a/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java +++ b/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java @@ -17,9 +17,9 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.StandardCopyOption; +import java.util.logging.Level; import java.util.logging.Logger; -@SuppressWarnings("CallToPrintStackTrace") public class HamsterCorePlugin extends Plugin { @Getter private static HamsterCorePlugin instance; @@ -48,8 +48,7 @@ public class HamsterCorePlugin extends Plugin { CoreBungeeAPI.init(configFile); logger.info("已初始化 CoreAPI"); } catch (Exception e) { - logger.warning("初始化 CoreAPI 出错"); - e.printStackTrace(); + logger.log(Level.WARNING, "初始化 CoreAPI 出错", e); } long time = System.currentTimeMillis() - start; logger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms"); diff --git a/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/BungeePluginLogger.java b/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/BungeePluginLogger.java new file mode 100644 index 0000000..4a7e8a4 --- /dev/null +++ b/core-bungee/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/BungeePluginLogger.java @@ -0,0 +1,100 @@ +package cn.hamster3.mc.plugin.core.bungee.util; + +import lombok.Getter; +import net.md_5.bungee.api.plugin.Plugin; +import org.jetbrains.annotations.NotNull; + +import java.util.Arrays; +import java.util.logging.Level; +import java.util.logging.Logger; + +@Getter +@SuppressWarnings("unused") +public class BungeePluginLogger { + @NotNull + private final Plugin plugin; + @NotNull + private final Logger logger; + + public BungeePluginLogger(@NotNull Plugin plugin) { + this.plugin = plugin; + logger = plugin.getLogger(); + } + + public void log(@NotNull Level level, @NotNull String msg) { + logger.log(level, msg); + } + + public void log(@NotNull Level level, @NotNull String msg, @NotNull Object... args) { + try { + logger.log(level, String.format(msg, args)); + } catch (Exception e) { + logger.log(Level.WARNING, "输出日志 " + msg + " 时遇到一个异常"); + logger.log(Level.WARNING, "日志参数: " + Arrays.toString(args)); + logger.log(Level.WARNING, "异常信息: ", e); + } + } + + public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg) { + logger.log(level, msg, throwable); + } + + public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + try { + logger.log(level, String.format(msg, args), throwable); + } catch (Exception e) { + logger.log(Level.WARNING, "输出日志 " + msg + " 时遇到一个异常"); + logger.log(Level.WARNING, "日志参数: " + Arrays.toString(args)); + logger.log(Level.WARNING, "异常参数: ", throwable); + logger.log(Level.WARNING, "异常信息: ", e); + } + } + + public void info(@NotNull String msg) { + log(Level.INFO, msg); + } + + public void info(@NotNull String msg, @NotNull Object... args) { + log(Level.INFO, msg, args); + } + + public void info(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.INFO, throwable, msg); + } + + public void info(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.INFO, throwable, msg, args); + } + + public void warn(@NotNull String msg) { + log(Level.WARNING, msg); + } + + public void warn(@NotNull String msg, @NotNull Object... args) { + log(Level.WARNING, msg, args); + } + + public void warn(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.WARNING, throwable, msg); + } + + public void warn(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.WARNING, throwable, msg, args); + } + + public void error(@NotNull String msg) { + log(Level.SEVERE, msg); + } + + public void error(@NotNull String msg, @NotNull Object... args) { + log(Level.SEVERE, msg, args); + } + + public void error(@NotNull Throwable throwable, @NotNull String msg) { + log(Level.SEVERE, throwable, msg); + } + + public void error(@NotNull Throwable throwable, @NotNull String msg, @NotNull Object... args) { + log(Level.SEVERE, throwable, msg, args); + } +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e411586..c893b36 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists