Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948

This commit is contained in:
Travis Watkins
2013-12-01 11:15:18 -06:00
parent 2726696652
commit c098854591
6 changed files with 88 additions and 79 deletions

View File

@@ -46,18 +46,19 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
threadcommandreader.setDaemon(true);
threadcommandreader.start();
// CraftBukkit start - TODO: See if this needs fixing
final org.apache.logging.log4j.core.Logger realLogger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger());
for (org.apache.logging.log4j.core.Appender appender : realLogger.getAppenders().values()) {
if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) {
realLogger.removeAppender(appender);
}
// CraftBukkit start - TODO: handle command-line logging arguments
java.util.logging.Logger global = java.util.logging.Logger.getLogger("");
global.setUseParentHandlers(false);
for (java.util.logging.Handler handler : global.getHandlers()) {
global.removeHandler(handler);
}
global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler());
final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger());
new Thread(new org.bukkit.craftbukkit.util.TerminalConsoleWriterThread(System.out, this.reader)).start();
System.setOut(new PrintStream(new LoggerOutputStream(realLogger, Level.INFO), true));
System.setErr(new PrintStream(new LoggerOutputStream(realLogger, Level.WARN), true));
System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
// CraftBukkit end
h.info("Starting minecraft server version 1.7.2");