80 lines
2.5 KiB
Diff
80 lines
2.5 KiB
Diff
From 83e4c23fbe90fd958af7abc36e9a9b5c93f436ab Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@live.com.au>
|
|
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 7aac2de..1f949f9 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;
|
|
@@ -254,4 +256,27 @@ public class SpigotConfig
|
|
unknownCommandMessage = transform( getString( "messages.unknown-command", "Unknown command. Type \"help\" for help." ) );
|
|
serverFullMessage = transform( getString( "messages.server-full", "The server is full!" ) );
|
|
}
|
|
+
|
|
+ public static List<Pattern> logFilters;
|
|
+ private static void filters()
|
|
+ {
|
|
+ List<String> def = Arrays.asList( new String[]
|
|
+ {
|
|
+ "^(.*)(/login)(.*)$"
|
|
+ } );
|
|
+ logFilters = new ArrayList<Pattern>();
|
|
+
|
|
+ for ( String regex : (List<String>) 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
|
|
|