mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-05 16:30:24 +08:00
Fix hashCode NPE
Attempt to fix "issued command: /plan register" filtering from console output - failed
This commit is contained in:
parent
e6d7428c7f
commit
a84632686d
@ -42,11 +42,14 @@ import main.java.com.djrapitops.plan.utilities.Benchmark;
|
||||
import main.java.com.djrapitops.plan.utilities.Check;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.metrics.BStats;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.core.LoggerContext;
|
||||
import org.apache.logging.log4j.core.config.LoggerConfig;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Executors;
|
||||
@ -186,7 +189,11 @@ public class Plan extends BukkitPlugin<Plan> {
|
||||
Log.error("WebServer was not Initialized.");
|
||||
}
|
||||
// Prevent passwords showing up on console.
|
||||
Bukkit.getLogger().setFilter(new RegisterCommandFilter());
|
||||
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
||||
Collection<LoggerConfig> lc = ctx.getConfiguration().getLoggers().values();
|
||||
for (LoggerConfig c : lc) {
|
||||
c.addFilter(new RegisterCommandFilter());
|
||||
}
|
||||
} else if (!hasDataViewCapability) {
|
||||
Log.infoColor(Phrase.ERROR_NO_DATA_VIEW.toString());
|
||||
}
|
||||
@ -390,7 +397,7 @@ public class Plan extends BukkitPlugin<Plan> {
|
||||
}
|
||||
|
||||
try (InputStream inputStream = localeURL.openStream();
|
||||
OutputStream outputStream = new FileOutputStream(localeFile)) {
|
||||
OutputStream outputStream = new FileOutputStream(localeFile)) {
|
||||
|
||||
int read;
|
||||
byte[] bytes = new byte[1024];
|
||||
@ -421,9 +428,8 @@ public class Plan extends BukkitPlugin<Plan> {
|
||||
/**
|
||||
* Stops initializing the locale
|
||||
*
|
||||
* @implNote Removes clutter in the method
|
||||
*
|
||||
* @param usingLocale The locale that's used
|
||||
* @implNote Removes clutter in the method
|
||||
*/
|
||||
private void stopInitLocale(String usingLocale) {
|
||||
Benchmark.stop("Enable: Initializing locale");
|
||||
|
@ -1,7 +1,11 @@
|
||||
package main.java.com.djrapitops.plan.command.commands;
|
||||
|
||||
import java.util.logging.Filter;
|
||||
import java.util.logging.LogRecord;
|
||||
import org.apache.logging.log4j.Level;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Filters out WebUser registration command logs.
|
||||
@ -11,12 +15,126 @@ import java.util.logging.LogRecord;
|
||||
*/
|
||||
public class RegisterCommandFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public boolean isLoggable(LogRecord record) {
|
||||
String message = record.getMessage();
|
||||
private boolean start = true;
|
||||
|
||||
private Result filter(String message) {
|
||||
boolean block = message.contains("command: /plan register")
|
||||
|| message.contains("command: /plan web register")
|
||||
|| message.contains("command: /plan webuser register");
|
||||
return !block;
|
||||
if (block) {
|
||||
return Result.DENY;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(LogEvent event) {
|
||||
String message = event.getMessage().toString().toLowerCase();
|
||||
return filter(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger arg0, Level arg1, Marker arg2, String arg3, Object... arg4) {
|
||||
return filter(arg3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger arg0, Level arg1, Marker arg2, Object arg3, Throwable arg4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger arg0, Level arg1, Marker arg2, Message arg3, Throwable arg4) {
|
||||
return filter(arg3.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result getOnMatch() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result getOnMismatch() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8, Object o9) {
|
||||
return filter(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public State getState() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
start = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
start = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStarted() {
|
||||
return start;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStopped() {
|
||||
return !start;
|
||||
}
|
||||
}
|
||||
|
@ -805,7 +805,6 @@ public class UserData {
|
||||
result = 31 * result + deaths;
|
||||
result = 31 * result + name.hashCode();
|
||||
result = 31 * result + (isOnline ? 1 : 0);
|
||||
result = 31 * result + currentSession.hashCode();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ import java.util.*;
|
||||
public class DataCacheHandler extends SessionCache {
|
||||
|
||||
// Cache
|
||||
private final HashMap<UUID, UserData> dataCache;
|
||||
private final Map<UUID, UserData> dataCache;
|
||||
|
||||
// Plan
|
||||
private final Plan plugin;
|
||||
|
Loading…
Reference in New Issue
Block a user