feat: 完成 SimpleLogger
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import cn.hamster3.mc.plugin.core.common.config.YamlConfig;
|
||||
import cn.hamster3.mc.plugin.core.common.util.UpdateCheckUtils;
|
||||
import cn.hamster3.mc.plugin.core.velocity.api.CoreVelocityAPI;
|
||||
import cn.hamster3.mc.plugin.core.velocity.util.VelocitySimpleLogger;
|
||||
import com.google.inject.Inject;
|
||||
import com.velocitypowered.api.event.PostOrder;
|
||||
import com.velocitypowered.api.event.Subscribe;
|
||||
@@ -36,25 +37,22 @@ public class HamsterCorePlugin {
|
||||
@Getter
|
||||
private static HamsterCorePlugin instance;
|
||||
@Getter
|
||||
private final java.util.logging.Logger logger;
|
||||
@Getter
|
||||
private final Logger slf4jLogger;
|
||||
private final VelocitySimpleLogger simpleLogger;
|
||||
@Getter
|
||||
private final ProxyServer proxyServer;
|
||||
@Getter
|
||||
private final File dataFolder;
|
||||
|
||||
@Inject
|
||||
public HamsterCorePlugin(Logger slf4jLogger, ProxyServer proxyServer, @DataDirectory Path dataPath) {
|
||||
logger = java.util.logging.Logger.getLogger("hamster-core");
|
||||
this.slf4jLogger = slf4jLogger;
|
||||
public HamsterCorePlugin(Logger logger, ProxyServer proxyServer, @DataDirectory Path dataPath) {
|
||||
this.simpleLogger = new VelocitySimpleLogger(logger);
|
||||
this.proxyServer = proxyServer;
|
||||
dataFolder = dataPath.toFile();
|
||||
instance = this;
|
||||
long start = System.currentTimeMillis();
|
||||
try {
|
||||
if (dataFolder.mkdir()) {
|
||||
slf4jLogger.info("已生成插件存档文件夹");
|
||||
simpleLogger.info("已生成插件存档文件夹");
|
||||
}
|
||||
File configFile = new File(dataFolder, "config.yml");
|
||||
if (!configFile.exists()) {
|
||||
@@ -65,38 +63,40 @@ public class HamsterCorePlugin {
|
||||
}
|
||||
}
|
||||
CoreVelocityAPI.init(configFile);
|
||||
slf4jLogger.info("已初始化 CoreAPI");
|
||||
simpleLogger.info("已初始化 CoreAPI");
|
||||
} catch (Exception e) {
|
||||
slf4jLogger.error("初始化 CoreAPI 出错", e);
|
||||
simpleLogger.error("初始化 CoreAPI 出错", e);
|
||||
}
|
||||
long time = System.currentTimeMillis() - start;
|
||||
slf4jLogger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
@Subscribe(order = PostOrder.FIRST)
|
||||
public void onProxyInitialization(ProxyInitializeEvent event) {
|
||||
long start = System.currentTimeMillis();
|
||||
slf4jLogger.info("仓鼠核心正在启动");
|
||||
simpleLogger.info("仓鼠核心正在启动");
|
||||
CoreAPI.getInstance().getExecutorService().submit(this::checkUpdate);
|
||||
long time = System.currentTimeMillis() - start;
|
||||
slf4jLogger.info("仓鼠核心启动完成,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心启动完成,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
@Subscribe(order = PostOrder.LAST)
|
||||
public void onProxyShutdown(ProxyShutdownEvent event) {
|
||||
long start = System.currentTimeMillis();
|
||||
CoreAPI.getInstance().getJedisPool().close();
|
||||
slf4jLogger.info("已关闭 Redis 连接池");
|
||||
if (CoreAPI.getInstance().getDataSource() instanceof HikariDataSource dataSource) {
|
||||
dataSource.close();
|
||||
slf4jLogger.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();
|
||||
slf4jLogger.info("已关闭 ExecutorService 线程池");
|
||||
simpleLogger.info("已关闭 ExecutorService 线程池");
|
||||
CoreAPI.getInstance().getScheduledService().shutdownNow();
|
||||
slf4jLogger.info("已关闭 ScheduledExecutorService 线程池");
|
||||
simpleLogger.info("已关闭 ScheduledExecutorService 线程池");
|
||||
long time = System.currentTimeMillis() - start;
|
||||
slf4jLogger.info("仓鼠核心关闭完成,总计耗时 " + time + " ms");
|
||||
simpleLogger.info("仓鼠核心已关闭,总计耗时 " + time + " ms");
|
||||
}
|
||||
|
||||
private void checkUpdate() {
|
||||
|
@@ -8,6 +8,7 @@ import cn.hamster3.mc.plugin.core.common.impl.ComponentTypeAdapter;
|
||||
import cn.hamster3.mc.plugin.core.common.impl.MessageTypeAdapter;
|
||||
import cn.hamster3.mc.plugin.core.velocity.HamsterCorePlugin;
|
||||
import cn.hamster3.mc.plugin.core.velocity.impl.AudienceProviderImpl;
|
||||
import cn.hamster3.mc.plugin.core.velocity.util.VelocitySimpleLogger;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import net.kyori.adventure.platform.AudienceProvider;
|
||||
@@ -16,7 +17,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class CoreVelocityAPI extends CoreAPI {
|
||||
@@ -57,8 +57,8 @@ public final class CoreVelocityAPI extends CoreAPI {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Logger getLogger() {
|
||||
return HamsterCorePlugin.getInstance().getLogger();
|
||||
public @NotNull VelocitySimpleLogger getLogger() {
|
||||
return HamsterCorePlugin.getInstance().getSimpleLogger();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -0,0 +1,57 @@
|
||||
package cn.hamster3.mc.plugin.core.velocity.util;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.common.util.SimpleLogger;
|
||||
import lombok.Getter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
@Getter
|
||||
public class VelocitySimpleLogger extends SimpleLogger {
|
||||
@NotNull
|
||||
private final Logger logger;
|
||||
|
||||
public VelocitySimpleLogger(@NotNull Logger logger) {
|
||||
this.logger = logger;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull String msg) {
|
||||
if (level == Level.INFO) {
|
||||
logger.info(msg);
|
||||
} else if (level == Level.WARNING) {
|
||||
logger.warn(msg);
|
||||
} else if (level == Level.SEVERE) {
|
||||
logger.error(msg);
|
||||
} else {
|
||||
logger.trace(msg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull Throwable throwable) {
|
||||
if (level == Level.INFO) {
|
||||
logger.info("", throwable);
|
||||
} else if (level == Level.WARNING) {
|
||||
logger.warn("", throwable);
|
||||
} else if (level == Level.SEVERE) {
|
||||
logger.error("", throwable);
|
||||
} else {
|
||||
logger.trace("", throwable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log(@NotNull Level level, @NotNull Throwable throwable, @NotNull String msg) {
|
||||
if (level == Level.INFO) {
|
||||
logger.info(msg, throwable);
|
||||
} else if (level == Level.WARNING) {
|
||||
logger.warn(msg, throwable);
|
||||
} else if (level == Level.SEVERE) {
|
||||
logger.error(msg, throwable);
|
||||
} else {
|
||||
logger.trace(msg, throwable);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user