feat: 完成 SimpleLogger
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.bungee.api.CoreBungeeAPI;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BungeeSimpleLogger;
|
||||
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import cn.hamster3.mc.plugin.core.common.config.ConfigSection;
|
||||
import cn.hamster3.mc.plugin.core.common.config.YamlConfig;
|
||||
import cn.hamster3.mc.plugin.core.common.util.UpdateCheckUtils;
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.Getter;
|
||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
@@ -18,24 +20,25 @@ 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 Plugin {
|
||||
@Getter
|
||||
private static HamsterCorePlugin instance;
|
||||
@Getter
|
||||
private static BungeeSimpleLogger simpleLogger;
|
||||
@Getter
|
||||
private BungeeAudiences audienceProvider;
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
simpleLogger = new BungeeSimpleLogger(this);
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
logger.info("仓鼠核心正在初始化");
|
||||
simpleLogger.info("仓鼠核心正在初始化");
|
||||
try {
|
||||
File dataFolder = getDataFolder();
|
||||
if (dataFolder.mkdir()) {
|
||||
logger.info("已生成插件存档文件夹");
|
||||
simpleLogger.info("已生成插件存档文件夹");
|
||||
}
|
||||
File configFile = new File(dataFolder, "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
@@ -46,40 +49,42 @@ public class HamsterCorePlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
CoreBungeeAPI.init(configFile);
|
||||
logger.info("已初始化 CoreAPI");
|
||||
simpleLogger.info("已初始化 CoreAPI");
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.WARNING, "初始化 CoreAPI 出错", e);
|
||||
simpleLogger.log(Level.WARNING, "初始化 CoreAPI 出错", e);
|
||||
}
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
logger.info("仓鼠核心正在启动");
|
||||
simpleLogger.info("仓鼠核心正在启动");
|
||||
audienceProvider = BungeeAudiences.create(this);
|
||||
logger.info("已创建 AudienceProvider");
|
||||
simpleLogger.info("已创建 AudienceProvider");
|
||||
CoreAPI.getInstance().getExecutorService().submit(this::checkUpdate);
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心启动完成,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
CoreAPI.getInstance().getJedisPool().close();
|
||||
logger.info("已关闭 Redis 连接池");
|
||||
CoreAPI.getInstance().getHikariDataSource().close();
|
||||
logger.info("已关闭数据库连接池");
|
||||
if (CoreAPI.getInstance().isEnableRedis()) {
|
||||
CoreAPI.getInstance().getJedisPool().close();
|
||||
simpleLogger.info("已关闭 Redis 连接池");
|
||||
}
|
||||
if (CoreAPI.getInstance().isEnableDatabase()) {
|
||||
((HikariDataSource) CoreAPI.getInstance().getDataSource()).close();
|
||||
simpleLogger.info("已关闭数据库连接池");
|
||||
}
|
||||
CoreAPI.getInstance().getExecutorService().shutdownNow();
|
||||
logger.info("已关闭 ExecutorService 线程池");
|
||||
simpleLogger.info("已关闭 ExecutorService 线程池");
|
||||
CoreAPI.getInstance().getScheduledService().shutdownNow();
|
||||
logger.info("已关闭 ScheduledExecutorService 线程池");
|
||||
simpleLogger.info("已关闭 ScheduledExecutorService 线程池");
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心已关闭,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心已关闭,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
private void checkUpdate() {
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.api;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.bungee.HamsterCorePlugin;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BungeeSimpleLogger;
|
||||
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import cn.hamster3.mc.plugin.core.common.config.ConfigSection;
|
||||
import cn.hamster3.mc.plugin.core.common.config.YamlConfig;
|
||||
@@ -15,7 +16,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class CoreBungeeAPI extends CoreAPI {
|
||||
@@ -51,8 +51,8 @@ public final class CoreBungeeAPI extends CoreAPI {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Logger getLogger() {
|
||||
return HamsterCorePlugin.getInstance().getLogger();
|
||||
public @NotNull BungeeSimpleLogger getLogger() {
|
||||
return HamsterCorePlugin.getSimpleLogger();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,100 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.util;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.common.util.SimpleLogger;
|
||||
import lombok.Getter;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@Getter
|
||||
@SuppressWarnings("unused")
|
||||
public class BungeeSimpleLogger extends SimpleLogger {
|
||||
@NotNull
|
||||
private final Plugin plugin;
|
||||
@NotNull
|
||||
private final Logger logger;
|
||||
|
||||
public BungeeSimpleLogger(@NotNull Plugin plugin) {
|
||||
this.plugin = plugin;
|
||||
logger = plugin.getLogger();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull String msg) {
|
||||
logger.log(level, msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull Throwable throwable) {
|
||||
logger.log(level, "", throwable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg) {
|
||||
logger.log(level, msg, throwable);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user