mirror of
https://github.com/CarmJos/ScriptItems
synced 2024-09-19 21:35:50 +00:00
添加log数据库相关配置
This commit is contained in:
parent
2f76db122c
commit
3d62bad0c4
@ -8,7 +8,6 @@ import cc.carm.plugin.itemcommands.manager.ConfigManager;
|
|||||||
import cc.carm.plugin.itemcommands.util.JarResourceUtils;
|
import cc.carm.plugin.itemcommands.util.JarResourceUtils;
|
||||||
import org.bstats.bukkit.Metrics;
|
import org.bstats.bukkit.Metrics;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@ -21,27 +20,6 @@ public class Main extends EasyPlugin {
|
|||||||
instance = this;
|
instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 注册监听器
|
|
||||||
*
|
|
||||||
* @param listener 监听器
|
|
||||||
*/
|
|
||||||
public static void regListener(Listener listener) {
|
|
||||||
Bukkit.getPluginManager().registerEvents(listener, getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void info(String... messages) {
|
|
||||||
getInstance().log(messages);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void severe(String... messages) {
|
|
||||||
getInstance().error(messages);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void debugging(String... messages) {
|
|
||||||
getInstance().debug(messages);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Main getInstance() {
|
public static Main getInstance() {
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
@ -75,7 +53,7 @@ public class Main extends EasyPlugin {
|
|||||||
@Override
|
@Override
|
||||||
protected void shutdown() {
|
protected void shutdown() {
|
||||||
|
|
||||||
info("卸载监听器...");
|
log("卸载监听器...");
|
||||||
Bukkit.getServicesManager().unregisterAll(this);
|
Bukkit.getServicesManager().unregisterAll(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -89,4 +67,17 @@ public class Main extends EasyPlugin {
|
|||||||
public void outputInfo() {
|
public void outputInfo() {
|
||||||
Optional.ofNullable(JarResourceUtils.readResource(this.getResource("PLUGIN_INFO"))).ifPresent(this::log);
|
Optional.ofNullable(JarResourceUtils.readResource(this.getResource("PLUGIN_INFO"))).ifPresent(this::log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void info(String... messages) {
|
||||||
|
getInstance().log(messages);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void severe(String... messages) {
|
||||||
|
getInstance().error(messages);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void debugging(String... messages) {
|
||||||
|
getInstance().debug(messages);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,8 @@ public class PluginConfig {
|
|||||||
"check-update", Boolean.class, true
|
"check-update", Boolean.class, true
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final ConfigValue<String> STORAGE_METHOD = new ConfigValue<>(
|
public static final ConfigValue<Boolean> LOG_STORAGE = new ConfigValue<>(
|
||||||
"storage.method", String.class, "YAML"
|
"log-storage.enable", Boolean.class, true
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
package cc.carm.plugin.itemcommands.database;
|
||||||
|
|
||||||
|
import cc.carm.lib.easyplugin.configuration.values.ConfigValue;
|
||||||
|
|
||||||
|
public class DBConfiguration {
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> DRIVER_NAME = new ConfigValue<>(
|
||||||
|
"log-storage.database.driver", String.class,
|
||||||
|
"com.mysql.cj.jdbc.Driver"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> HOST = new ConfigValue<>(
|
||||||
|
"log-storage.database.host", String.class,
|
||||||
|
"127.0.0.1"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<Integer> PORT = new ConfigValue<>(
|
||||||
|
"log-storage.database.port", Integer.class,
|
||||||
|
3306
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> DATABASE = new ConfigValue<>(
|
||||||
|
"log-storage.database.database", String.class,
|
||||||
|
"minecraft"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> USERNAME = new ConfigValue<>(
|
||||||
|
"log-storage.database.username", String.class,
|
||||||
|
"root"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> PASSWORD = new ConfigValue<>(
|
||||||
|
"log-storage.database.password", String.class,
|
||||||
|
"password"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> EXTRA_SETTINGS = new ConfigValue<>(
|
||||||
|
"log-storage.database.extra", String.class,
|
||||||
|
"?useSSL=false"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static String buildJDBC() {
|
||||||
|
return String.format("jdbc:mysql://%s:%s/%s%s",
|
||||||
|
HOST.get(), PORT.get(), DATABASE.get(), EXTRA_SETTINGS.get()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package cc.carm.plugin.itemcommands.database;
|
||||||
|
|
||||||
|
import cc.carm.lib.easyplugin.configuration.values.ConfigValue;
|
||||||
|
|
||||||
|
public class DBTables {
|
||||||
|
|
||||||
|
public static class LogTable {
|
||||||
|
|
||||||
|
protected static final ConfigValue<String> TABLE_NAME = new ConfigValue<>(
|
||||||
|
"log-storage.database.table-name", String.class,
|
||||||
|
"log_item_commands"
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static final String[] TABLE_COLUMNS = new String[]{
|
||||||
|
"`uuid` VARCHAR(36) NOT NULL PRIMARY KEY COMMENT '用户UUID'", // 用户的UUID
|
||||||
|
"`time` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户在线秒数'",// 用户在线时间(秒)
|
||||||
|
"`update` DATETIME NOT NULL " +
|
||||||
|
"DEFAULT CURRENT_TIMESTAMP " +
|
||||||
|
"ON UPDATE CURRENT_TIMESTAMP " +
|
||||||
|
" COMMENT '最后更新时间'"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
package cc.carm.plugin.itemcommands.database;
|
||||||
|
|
||||||
|
import cc.carm.lib.easysql.EasySQL;
|
||||||
|
import cc.carm.lib.easysql.api.SQLManager;
|
||||||
|
import cc.carm.plugin.itemcommands.Main;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
public class DataManager {
|
||||||
|
private SQLManager sqlManager;
|
||||||
|
|
||||||
|
public boolean initialize() {
|
||||||
|
try {
|
||||||
|
Main.info(" 尝试连接到数据库...");
|
||||||
|
this.sqlManager = EasySQL.createManager(
|
||||||
|
DBConfiguration.DRIVER_NAME.get(), DBConfiguration.buildJDBC(),
|
||||||
|
DBConfiguration.USERNAME.get(), DBConfiguration.PASSWORD.get()
|
||||||
|
);
|
||||||
|
this.sqlManager.setDebugMode(() -> Main.getInstance().isDebugging());
|
||||||
|
} catch (Exception exception) {
|
||||||
|
Main.severe("无法连接到数据库,请检查配置文件。");
|
||||||
|
exception.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Main.info(" 创建插件记录所需表...");
|
||||||
|
getSQLManager().createTable(DBTables.LogTable.TABLE_NAME.get())
|
||||||
|
.setColumns(DBTables.LogTable.TABLE_COLUMNS)
|
||||||
|
.build().execute();
|
||||||
|
|
||||||
|
} catch (SQLException exception) {
|
||||||
|
Main.severe("无法创建插件所需的表,请检查数据库权限。");
|
||||||
|
exception.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void shutdown() {
|
||||||
|
Main.info(" 关闭数据库连接...");
|
||||||
|
EasySQL.shutdownManager(getSQLManager());
|
||||||
|
this.sqlManager = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SQLManager getSQLManager() {
|
||||||
|
return sqlManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -15,7 +15,7 @@ metrics: true
|
|||||||
# 检查更新为异步操作,绝不会影响性能与使用体验。
|
# 检查更新为异步操作,绝不会影响性能与使用体验。
|
||||||
check-update: true
|
check-update: true
|
||||||
|
|
||||||
log-stroage:
|
log-storage:
|
||||||
# 是否启用日志记录存储
|
# 是否启用日志记录存储
|
||||||
# 可用于追踪物品的发放、领取情况与执行记录。
|
# 可用于追踪物品的发放、领取情况与执行记录。
|
||||||
enable: true
|
enable: true
|
||||||
@ -31,4 +31,5 @@ log-stroage:
|
|||||||
username: "username"
|
username: "username"
|
||||||
password: "password"
|
password: "password"
|
||||||
extra: "?useSSL=false"
|
extra: "?useSSL=false"
|
||||||
# 插件相关表的名称
|
# 插件相关表的名称
|
||||||
|
table-name: "log_item_commands"
|
Loading…
Reference in New Issue
Block a user