diff options
Diffstat (limited to 'src/main/java/com/redstoner/logging')
-rw-r--r-- | src/main/java/com/redstoner/logging/Log4JFilter.java | 86 | ||||
-rw-r--r-- | src/main/java/com/redstoner/logging/PrivateLogManager.java | 81 |
2 files changed, 82 insertions, 85 deletions
diff --git a/src/main/java/com/redstoner/logging/Log4JFilter.java b/src/main/java/com/redstoner/logging/Log4JFilter.java index 1ebed09..bdc94d4 100644 --- a/src/main/java/com/redstoner/logging/Log4JFilter.java +++ b/src/main/java/com/redstoner/logging/Log4JFilter.java @@ -1,5 +1,5 @@ package com.redstoner.logging; - + import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.core.LogEvent; @@ -9,46 +9,46 @@ import org.apache.logging.log4j.message.Message; public class Log4JFilter extends AbstractFilter { - private static final long serialVersionUID = -5594073755007974254L; - - private static Result validateMessage(Message message) { - if (message == null) { - return Result.NEUTRAL; - } - return validateMessage(message.getFormattedMessage()); - } - - private static Result validateMessage(String message) { - return PrivateLogManager.isHidden(message) - ? Result.DENY - : Result.NEUTRAL; - } - - @Override - public Result filter(LogEvent event) { - Message candidate = null; - if (event != null) { - candidate = event.getMessage(); - } - return validateMessage(candidate); - } - - @Override - public Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t) { - return validateMessage(msg); - } - - @Override - public Result filter(Logger logger, Level level, Marker marker, String msg, Object... params) { - return validateMessage(msg); - } - - @Override - public Result filter(Logger logger, Level level, Marker marker, Object msg, Throwable t) { - String candidate = null; - if (msg != null) { - candidate = msg.toString(); - } - return validateMessage(candidate); - } + private static final long serialVersionUID = -5594073755007974254L; + + @Override + public Result filter(LogEvent event) { + Message candidate = null; + if (event != null) { + candidate = event.getMessage(); + } + return validateMessage(candidate); + } + + private static Result validateMessage(Message message) { + if (message == null) { + return Result.NEUTRAL; + } + return validateMessage(message.getFormattedMessage()); + } + + private static Result validateMessage(String message) { + return PrivateLogManager.isHidden(message) + ? Result.DENY + : Result.NEUTRAL; + } + + @Override + public Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t) { + return validateMessage(msg); + } + + @Override + public Result filter(Logger logger, Level level, Marker marker, String msg, Object... params) { + return validateMessage(msg); + } + + @Override + public Result filter(Logger logger, Level level, Marker marker, Object msg, Throwable t) { + String candidate = null; + if (msg != null) { + candidate = msg.toString(); + } + return validateMessage(candidate); + } }
\ No newline at end of file diff --git a/src/main/java/com/redstoner/logging/PrivateLogManager.java b/src/main/java/com/redstoner/logging/PrivateLogManager.java index e8451e0..ce6a68c 100644 --- a/src/main/java/com/redstoner/logging/PrivateLogManager.java +++ b/src/main/java/com/redstoner/logging/PrivateLogManager.java @@ -1,44 +1,41 @@ package com.redstoner.logging; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.apache.logging.log4j.LogManager; - import com.redstoner.misc.Utils; import com.redstoner.modules.Module; import com.redstoner.modules.ModuleLogger; +import org.apache.logging.log4j.LogManager; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; public class PrivateLogManager { + private static final String ISSUED_COMMAND_TEXT = "issued server command: /"; + private static final int ISSUED_COMMAND_TEXT_LENGTH = ISSUED_COMMAND_TEXT.length(); private static Map<String, Module> registrar = new HashMap<>(); - private static Map<String, String> commands = new HashMap<>(); - - private static final String ISSUED_COMMAND_TEXT = "issued server command: /"; - private static final int ISSUED_COMMAND_TEXT_LENGTH = ISSUED_COMMAND_TEXT.length(); - + private static Map<String, String> commands = new HashMap<>(); private static ModuleLogger logger; - + public static void initialize() { org.apache.logging.log4j.core.Logger logger; - logger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger(); - logger.addFilter(new Log4JFilter()); - PrivateLogManager.logger = new ModuleLogger("PrivateLogManager"); + logger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger(); + logger.addFilter(new Log4JFilter()); + PrivateLogManager.logger = new ModuleLogger("PrivateLogManager"); } - + public static void register(Module module, String command, String replacement) { command = command.toLowerCase(); registrar.put(command, module); commands.put(command, replacement); logger.info(module.getClass().getSimpleName() + " registered &e/" + command - + (replacement.equals("")? "&7. Command will not be logged!" - : "&7, using replacement, &e" + replacement + "&7.")); + + (replacement.equals("") ? "&7. Command will not be logged!" + : "&7, using replacement, &e" + replacement + "&7.")); } - + public static void unregister(Module module) { - String unregestered = ""; - Iterator<Map.Entry<String, Module>> i = registrar.entrySet().iterator(); + String unregestered = ""; + Iterator<Map.Entry<String, Module>> i = registrar.entrySet().iterator(); while (i.hasNext()) { Map.Entry<String, Module> entry = i.next(); if (entry.getValue() == module) { @@ -50,7 +47,7 @@ public class PrivateLogManager { if (!unregestered.equals("")) logger.info("Unregistered " + unregestered.substring(0, unregestered.length() - 2) + "&7 for module, " + module.getClass().getSimpleName() + "."); } - + public static void unregister(Module module, String... toRemove) { String unregestered = ""; for (int i = 0; i < toRemove.length; i++) { @@ -62,27 +59,27 @@ public class PrivateLogManager { if (!unregestered.equals("")) logger.info(module.getClass().getSimpleName() + " unregistered " + unregestered.substring(0, unregestered.length() - 2) + "&7."); } - + public static boolean isHidden(String message) { - if (message == null) - return false; - - int index = message.indexOf(ISSUED_COMMAND_TEXT); - if (index == -1) - return false; - - String command = message.substring(index + ISSUED_COMMAND_TEXT_LENGTH); - - int spaceIndex = command.indexOf(" "); - command = spaceIndex == -1? command.toLowerCase() : command.substring(0, spaceIndex).toLowerCase(); - - String replacement = commands.get(command); - if (replacement == null) - return false; - if (replacement.equals("")) - return true; - - String player = message.substring(0, message.indexOf(" ")); + if (message == null) + return false; + + int index = message.indexOf(ISSUED_COMMAND_TEXT); + if (index == -1) + return false; + + String command = message.substring(index + ISSUED_COMMAND_TEXT_LENGTH); + + int spaceIndex = command.indexOf(" "); + command = spaceIndex == -1 ? command.toLowerCase() : command.substring(0, spaceIndex).toLowerCase(); + + String replacement = commands.get(command); + if (replacement == null) + return false; + if (replacement.equals("")) + return true; + + String player = message.substring(0, message.indexOf(" ")); Utils.run(() -> System.out.println(replacement.replace("$s", player))); return true; } |