Skip to content

Removed old Log Filter, added in a new functioning one. #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@
<version>17.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.2</version>
<scope>provided</scope>
</dependency>
</dependencies>

<repositories>
Expand Down
26 changes: 0 additions & 26 deletions src/main/java/me/tom/sparse/spigot/chat/menu/CMCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

}
4 changes: 2 additions & 2 deletions src/main/java/me/tom/sparse/spigot/chat/menu/ChatMenuAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -182,8 +183,8 @@ public static void init(@NotNull Plugin plugin)

ChatMenuAPI.plugin = plugin;
// Bukkit.getPluginCommand("cmapi").setExecutor(new CMCommand());
CMCommand.setLoggerFilter();
new CMListener(plugin);
new LogFilter();

try
{
Expand All @@ -205,7 +206,6 @@ public static void disable()
if(plugin == null)
return;

CMCommand.restoreLoggerFilter();
plugin = null;
interceptor.disable();
}
Expand Down
126 changes: 126 additions & 0 deletions src/main/java/me/tom/sparse/spigot/chat/util/LogFilter.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
2 changes: 1 addition & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ChatMenuAPI
version: 1.1.1
version: 1.1.2
author: Tom
main: me.tom.sparse.spigot.chat.menu.CMPlugin