common: Add PluginMiddleware for logging

This commit is contained in:
Oliver
2025-09-01 21:55:13 +02:00
parent a96de43551
commit c08a87a1c3
18 changed files with 56 additions and 23 deletions

View File

@@ -20,7 +20,7 @@ repositories {
dependencies {
compileOnly("dev.folia:folia-api:1.20.4-R0.1-SNAPSHOT")
compileOnly("de.oliver.FancyAnalytics:logger:0.0.7")
compileOnly("de.oliver.FancyAnalytics:logger:0.0.8")
// database drivers
compileOnly("org.xerial:sqlite-jdbc:3.49.1.0")

View File

@@ -0,0 +1,33 @@
package de.oliver.fancylib.logging;
import de.oliver.fancyanalytics.logger.LogEntry;
import de.oliver.fancyanalytics.logger.middleware.Middleware;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PluginMiddleware implements Middleware {
private static final Logger log = LoggerFactory.getLogger(PluginMiddleware.class);
private final Plugin plugin;
public PluginMiddleware(Plugin plugin) {
this.plugin = plugin;
}
@Override
public @Nullable LogEntry process(LogEntry logEntry) {
// server info
logEntry.addProperty("server_software", plugin.getServer().getName());
logEntry.addProperty("server_version", plugin.getServer().getBukkitVersion());
logEntry.addProperty("is_online_mode", plugin.getServer().getOnlineMode());
// plugin info
logEntry.addProperty("plugin_name", plugin.getDescription().getName());
logEntry.addProperty("plugin_version", plugin.getDescription().getVersion());
return logEntry;
}
}