feat: 优化日志

This commit is contained in:
2023-08-21 00:00:35 +08:00
parent 6aac1fafd6
commit 2a11117b8c
13 changed files with 86 additions and 26 deletions

View File

@@ -15,6 +15,8 @@ dependencies {
exclude(group = "org.yaml")
exclude(group = "org.slf4j")
}
// https://mvnrepository.com/artifact/io.netty/netty-resolver-dns
implementation("io.netty:netty-resolver-dns:4.1.96.Final")
}

View File

@@ -20,22 +20,31 @@ public class HamsterBallPlugin extends Plugin {
@Override
public void onLoad() {
instance = this;
long start = System.currentTimeMillis();
Logger logger = getLogger();
logger.info("仓鼠球正在初始化...");
instance = this;
try {
BallBungeeCordAPI.init();
logger.info("BallBungeeCordAPI 已初始化.");
BallBungeeCordAPI.getInstance().enable();
logger.info("BallBungeeCordAPI 已启动.");
logger.info("已初始化 BallAPI.");
} catch (Exception e) {
e.printStackTrace();
ProxyServer.getInstance().stop();
}
long time = System.currentTimeMillis() - start;
logger.info("仓鼠球初始化完成,总计耗时 " + time + " ms.");
}
@Override
public void onEnable() {
long start = System.currentTimeMillis();
Logger logger = getLogger();
logger.info("仓鼠球正在启动...");
try {
BallBungeeCordAPI.getInstance().enable();
} catch (Exception e) {
e.printStackTrace();
}
if (!BallAPI.getInstance().isEnabled()) {
ProxyServer.getInstance().stop("由于 HamsterBall 未能成功连接, 服务器将立即关闭.");
return;
@@ -47,7 +56,6 @@ public class HamsterBallPlugin extends Plugin {
ServerOnlineEvent.ACTION,
new ServerOnlineEvent(BallAPI.getInstance().getLocalServerInfo())
);
logger.info("HamsterBall 已启动.");
BallAPI.getInstance().getAllPlayerInfo().values()
.stream()
.filter(BallPlayerInfo::isOnline)
@@ -56,14 +64,22 @@ public class HamsterBallPlugin extends Plugin {
playerInfo.setOnline(false);
BallBungeeCordUtils.uploadPlayerInfo(playerInfo);
});
long time = System.currentTimeMillis() - start;
logger.info("仓鼠球启动完成,总计耗时 " + time + " ms.");
}
@Override
public void onDisable() {
long start = System.currentTimeMillis();
Logger logger = getLogger();
logger.info("仓鼠球正在关闭...");
try {
BallBungeeCordAPI.getInstance().disable();
} catch (Exception e) {
e.printStackTrace();
}
long time = System.currentTimeMillis() - start;
logger.info("仓鼠球已关闭,总计耗时 " + time + " ms.");
}
}

View File

@@ -61,7 +61,15 @@ public class BallBungeeCordAPI extends BallAPI {
)
);
DataSource datasource = BallBungeeCordUtils.getDataSource(config.getSection("datasource"));
DataSource datasource;
if (config.contains("datasource")) {
plugin.getLogger().info("检测到配置文件中包含 datasource 节点,启用自定义数据库连接.");
datasource = BallBungeeCordUtils.getDataSource(config.getSection("datasource"));
}else {
plugin.getLogger().info("未检测到配置文件中的 datasource 节点,复用 HamsterCore 数据库连接.");
datasource = CoreAPI.getInstance().getDataSource();
}
File redissionConfig = new File(plugin.getDataFolder(), "redission.yml");
if (!redissionConfig.exists()) {
Files.copy(

View File

@@ -85,7 +85,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
String serverID = event.getLocation().getServerID();
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
if (serverInfo == null) {
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 服务器 " + serverID + " 不在线");
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 服务器 " + serverID + " 不在线!");
break;
}
for (UUID uuid : event.getSendPlayerUUID()) {
@@ -105,7 +105,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
UUID toPlayerUUID = event.getToPlayerUUID();
ProxiedPlayer toPlayer = ProxyServer.getInstance().getPlayer(toPlayerUUID);
if (toPlayer == null) {
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 目标玩家 " + toPlayerUUID + " 不在线");
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 目标玩家 " + toPlayerUUID + " 不在线!");
break;
}
ServerInfo toServer = toPlayer.getServer().getInfo();

View File

@@ -3,7 +3,7 @@ main: cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin
version: ${version}
author: MiniDay
description: 仓鼠球:一个基于 Netty 的 Minecraft 服务端通用消息中间件原HamsterService
description: 仓鼠球:一个基于 Redis 的 Minecraft 服务端通用消息中间件原HamsterService
depend:
- HamsterCore

View File

@@ -1,17 +1,16 @@
# 是否允许在控制台输出调试信息
debug: false
ball-server:
host: "ball.hamster3.cn"
port: 58888
event-loop-thread: 5
server-info:
# 服务器唯一识别码,最长 32 字符
id: "BungeeCord"
# 服务端名称,用于展示给玩家看
name: "代理端"
# 当前子服的地址
# 不填则自动设置为 0.0.0.0
host: 0.0.0.0
# 当前子服端口
# 不填则自动设置为 25577
port: 25577
# 数据库连接池配置