From b2abcc850b4c50b043f8ef3548ea3c82e839050a Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 22 Jun 2013 16:40:11 +1000 Subject: [PATCH] Add Log Filtering diff --git a/src/main/java/org/spigotmc/LogFilter.java b/src/main/java/org/spigotmc/LogFilter.java new file mode 100644 index 0000000..aa7e9ab --- /dev/null +++ b/src/main/java/org/spigotmc/LogFilter.java @@ -0,0 +1,24 @@ +package org.spigotmc; + +import java.util.logging.Filter; +import java.util.logging.LogRecord; +import java.util.regex.Pattern; + +public class LogFilter implements Filter +{ + + public boolean isLoggable(LogRecord record) + { + if ( record.getMessage() != null ) + { + for ( Pattern pattern : SpigotConfig.logFilters ) + { + if ( pattern.matcher( record.getMessage() ).matches() ) + { + return false; + } + } + } + return true; + } +} diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index a3ddb99..e65978b 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -10,6 +10,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; import net.minecraft.server.MinecraftServer; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -167,4 +169,27 @@ public class SpigotConfig outdatedClientMessage = transform( getString( "messages.outdated-client", "Outdated client!" ) ); outdatedServerMessage = transform( getString( "messages.outdated-server", "Outdated server!" ) ); } + + public static List logFilters; + private static void filters() + { + List def = Arrays.asList( new String[] + { + "^(.*)(/login)(.*)$" + } ); + logFilters = new ArrayList(); + + for ( String regex : (List) getList( "settings.log-filters", def ) ) + { + try + { + logFilters.add( Pattern.compile( regex ) ); + } catch ( PatternSyntaxException ex ) + { + Bukkit.getLogger().log( Level.WARNING, "Supplied filter " + regex + " is invalid, ignoring!", ex ); + } + } + + Bukkit.getLogger().setFilter( new LogFilter() ); + } } -- 1.8.3.2