From 42d9a806ba5f7bce1ed5e40e2b5e54c651c4979c Mon Sep 17 00:00:00 2001
From: KingAlterIV <13559706+KingAlterIV@users.noreply.github.com>
Date: Sat, 25 Apr 2020 19:04:57 -0700
Subject: [PATCH 1/3] Removed old Log Filter, added in a new functioning one.
---
pom.xml | 6 +
.../sparse/spigot/chat/menu/CMCommand.java | 26 ----
.../tom/sparse/spigot/chat/menu/CMPlugin.java | 2 +
.../sparse/spigot/chat/menu/ChatMenuAPI.java | 2 -
.../sparse/spigot/chat/util/LogFilter.java | 126 ++++++++++++++++++
src/main/resources/plugin.yml | 2 +-
6 files changed, 135 insertions(+), 29 deletions(-)
create mode 100644 src/main/java/me/tom/sparse/spigot/chat/util/LogFilter.java
diff --git a/pom.xml b/pom.xml
index a7b7b50..1a1c10a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,12 @@
17.0.0
provided
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.13.2
+ provided
+
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/CMCommand.java b/src/main/java/me/tom/sparse/spigot/chat/menu/CMCommand.java
index 22481f0..760a3bd 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/CMCommand.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/CMCommand.java
@@ -42,30 +42,4 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
return true;
}
-// private static Filter originalFilter;
-// private static PrintStream originalOut;
-
- static void setLoggerFilter()
- {
-// System.setOut(new PrintStream(new FilterOutputStream(originalOut = System.out) {
-// public void write(byte[] b) throws IOException
-// {
-// if(new String(b).contains("/cmapi"))
-// return;
-// super.write(b);
-// }
-// }));
-
-// Logger logger = Bukkit.getLogger();
-// originalFilter = logger.getFilter();
-// logger.setFilter(record -> !record.getMessage().contains("/cmapi"));
-// logger.setFilter(record -> false);
- }
-
- static void restoreLoggerFilter()
- {
-// System.setOut(originalOut);
-// Bukkit.getLogger().setFilter(originalFilter);
- }
-
}
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
index 59b3ea6..81b176d 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
@@ -1,5 +1,6 @@
package me.tom.sparse.spigot.chat.menu;
+import me.tom.sparse.spigot.chat.util.LogFilter;
import org.bukkit.plugin.java.JavaPlugin;
public class CMPlugin extends JavaPlugin
@@ -7,6 +8,7 @@ public class CMPlugin extends JavaPlugin
public void onEnable()
{
ChatMenuAPI.init(this);
+ new LogFilter();
}
public void onDisable()
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java b/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
index 7f29052..97e827d 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
@@ -182,7 +182,6 @@ public static void init(@NotNull Plugin plugin)
ChatMenuAPI.plugin = plugin;
// Bukkit.getPluginCommand("cmapi").setExecutor(new CMCommand());
- CMCommand.setLoggerFilter();
new CMListener(plugin);
try
@@ -205,7 +204,6 @@ public static void disable()
if(plugin == null)
return;
- CMCommand.restoreLoggerFilter();
plugin = null;
interceptor.disable();
}
diff --git a/src/main/java/me/tom/sparse/spigot/chat/util/LogFilter.java b/src/main/java/me/tom/sparse/spigot/chat/util/LogFilter.java
new file mode 100644
index 0000000..ff98649
--- /dev/null
+++ b/src/main/java/me/tom/sparse/spigot/chat/util/LogFilter.java
@@ -0,0 +1,126 @@
+package me.tom.sparse.spigot.chat.util;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Marker;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.Logger;
+import org.apache.logging.log4j.message.Message;
+
+public class LogFilter implements Filter {
+
+ public LogFilter() {
+ ((Logger) LogManager.getRootLogger()).addFilter(this);
+ }
+
+ private Result filter(String message) {
+ if (message.contains("/cmapi")) return Result.DENY;
+ return Result.NEUTRAL;
+ }
+
+ @Override
+ public Result filter(LogEvent event) {
+ return filter(event.getMessage().getFormattedMessage());
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object... arg4) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, Object message, Throwable arg4) {
+ return filter(message.toString());
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, Message message, Throwable arg4) {
+ return filter(message.getFormattedMessage());
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8, Object arg9) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8, Object arg9, Object arg10) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8, Object arg9, Object arg10, Object arg11) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12) {
+ return filter(message);
+ }
+
+ @Override
+ public Result filter(Logger arg0, Level arg1, Marker arg2, String message, Object arg4, Object arg5, Object arg6,
+ Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13) {
+ return filter(message);
+ }
+
+ @Override
+ public State getState() {return State.STARTED;}
+
+ @Override
+ public void initialize() {}
+
+ @Override
+ public boolean isStarted() {return true;}
+
+ @Override
+ public boolean isStopped() {return false;}
+
+ @Override
+ public void start() {}
+
+ @Override
+ public void stop() {}
+
+ @Override
+ public Result getOnMatch() {
+ return Result.NEUTRAL;
+ }
+
+ @Override
+ public Result getOnMismatch() {
+ return Result.NEUTRAL;
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 62a320c..965c230 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,4 +1,4 @@
name: ChatMenuAPI
-version: 1.1.1
+version: 1.1.2
author: Tom
main: me.tom.sparse.spigot.chat.menu.CMPlugin
\ No newline at end of file
From a85847de23cea76e602a31389d948cc9e8c8a654 Mon Sep 17 00:00:00 2001
From: KingAlterIV <13559706+KingAlterIV@users.noreply.github.com>
Date: Sat, 25 Apr 2020 19:42:17 -0700
Subject: [PATCH 2/3] Log Filter should start automatically now
---
src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java | 1 -
src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
index 81b176d..895c752 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
@@ -8,7 +8,6 @@ public class CMPlugin extends JavaPlugin
public void onEnable()
{
ChatMenuAPI.init(this);
- new LogFilter();
}
public void onDisable()
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java b/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
index 97e827d..55ba669 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
@@ -2,6 +2,7 @@
import me.tom.sparse.spigot.chat.protocol.ChatPacketInterceptor;
import me.tom.sparse.spigot.chat.protocol.PlayerChatIntercept;
+import me.tom.sparse.spigot.chat.util.LogFilter;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.map.MapFont;
@@ -183,6 +184,7 @@ public static void init(@NotNull Plugin plugin)
ChatMenuAPI.plugin = plugin;
// Bukkit.getPluginCommand("cmapi").setExecutor(new CMCommand());
new CMListener(plugin);
+ new LogFilter();
try
{
From 0a3c89ef4c93355595514b6ed314a0d152febfee Mon Sep 17 00:00:00 2001
From: KingAlterIV <13559706+KingAlterIV@users.noreply.github.com>
Date: Sat, 25 Apr 2020 19:47:02 -0700
Subject: [PATCH 3/3] Forgot to remove the unused import before pushing the old
commit.
---
src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
index 895c752..59b3ea6 100644
--- a/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
+++ b/src/main/java/me/tom/sparse/spigot/chat/menu/CMPlugin.java
@@ -1,6 +1,5 @@
package me.tom.sparse.spigot.chat.menu;
-import me.tom.sparse.spigot.chat.util.LogFilter;
import org.bukkit.plugin.java.JavaPlugin;
public class CMPlugin extends JavaPlugin