From c6e50618a81c662355ac3cbfea7dce693c5dd37a Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 22 Jun 2013 16:40:34 +1000 Subject: [PATCH] Add log filtering! --- .../0055-Add-Log-Filtering.patch | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 CraftBukkit-Patches/0055-Add-Log-Filtering.patch diff --git a/CraftBukkit-Patches/0055-Add-Log-Filtering.patch b/CraftBukkit-Patches/0055-Add-Log-Filtering.patch new file mode 100644 index 0000000000..d0db27ea2f --- /dev/null +++ b/CraftBukkit-Patches/0055-Add-Log-Filtering.patch @@ -0,0 +1,77 @@ +From a6d06947f8a021fe637a3a32b1c1e5a8213ffc93 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..fd26480 +--- /dev/null ++++ b/src/main/java/org/spigotmc/LogFilter.java +@@ -0,0 +1,21 @@ ++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) ++ { ++ 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 67854aa..7c80298 100644 +--- a/src/main/java/org/spigotmc/SpigotConfig.java ++++ b/src/main/java/org/spigotmc/SpigotConfig.java +@@ -13,6 +13,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; +@@ -238,4 +240,27 @@ public class SpigotConfig + whitelistMessage = transform( getString( "messages.whitelist", "You are not whitelisted on this server!" ) ); + unknownCommandMessage = transform( getString( "messages.unknown-command", "Unknown command. Type \"help\" for help." ) ); + } ++ ++ 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.1.2 +