9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-25 01:49:30 +00:00

fix filter

This commit is contained in:
XiaoMoMi
2025-03-29 00:57:32 +08:00
parent a8847abb25
commit 7b1855d76f
3 changed files with 18 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.filter.AbstractFilter;
public class LoggerFilter {
public static void filter() {
Logger rootLogger = (Logger) LogManager.getRootLogger();
rootLogger.addFilter(new AbstractFilter() {

View File

@@ -16,6 +16,7 @@ import net.momirealms.craftengine.core.plugin.CraftEngine;
import net.momirealms.craftengine.core.plugin.PluginProperties;
import net.momirealms.craftengine.core.plugin.Reloadable;
import net.momirealms.craftengine.core.plugin.locale.TranslationManager;
import net.momirealms.craftengine.core.plugin.logger.filter.DisconnectLogFilter;
import net.momirealms.craftengine.core.util.AdventureHelper;
import net.momirealms.craftengine.core.util.MiscUtils;
import net.momirealms.craftengine.core.util.ReflectionUtils;
@@ -183,6 +184,7 @@ public class ConfigManager implements Reloadable {
metrics = config.getBoolean("metrics", false);
checkUpdate = config.getBoolean("update-checker", false);
filterConfigurationPhaseDisconnect = config.getBoolean("filter-configuration-phase-disconnect", false);
DisconnectLogFilter.instance().setEnable(filterConfigurationPhaseDisconnect);
// resource pack
resource_pack$override_uniform_font = config.getBoolean("resource-pack.override-uniform-font", false);

View File

@@ -1,7 +1,5 @@
package net.momirealms.craftengine.core.plugin.logger.filter;
import net.momirealms.craftengine.core.plugin.config.ConfigManager;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Node;
@@ -13,10 +11,24 @@ import org.apache.logging.log4j.core.impl.MutableLogEvent;
public class DisconnectLogFilter extends AbstractFilter {
private static final String TARGET_LOGGER = "net.minecraft.server.network.ServerConfigurationPacketListenerImpl";
private static final String TARGET_MESSAGE_PATTERN = "{} lost connection: {}";
private static DisconnectLogFilter instance;
private boolean enable = false;
public DisconnectLogFilter() {
instance = this;
}
public static DisconnectLogFilter instance() {
return instance;
}
public void setEnable(boolean enable) {
this.enable = enable;
}
@Override
public Result filter(LogEvent event) {
if (!ConfigManager.filterConfigurationPhaseDisconnect()) {
if (!enable) {
return Result.NEUTRAL;
}