2020-05-06 11:48:49 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2018-03-08 16:08:21 +01:00
|
|
|
From: Minecrell <minecrell@minecrell.net>
|
2017-09-18 12:07:47 +02:00
|
|
|
Date: Mon, 18 Sep 2017 12:00:03 +0200
|
|
|
|
Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger
|
|
|
|
|
|
|
|
Log4j2 provides an optimized implementation of PrintStream that
|
|
|
|
redirects its output to a logger. Use it instead of a custom
|
|
|
|
implementation for minor performance improvements and some fixes.
|
|
|
|
|
|
|
|
With the old implementation, each call to System.print()
|
|
|
|
results in a separate line, even though it should not result in
|
|
|
|
a line break. Log4j's implementation handles it correctly.
|
|
|
|
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
2020-06-25 15:11:48 +02:00
|
|
|
index 2acc2a98bd8df6d81b5865b768265a210597b57b..55cdd9061b2c70abe8458de497dd61e1f734bc9f 100644
|
2017-09-18 12:07:47 +02:00
|
|
|
--- a/pom.xml
|
|
|
|
+++ b/pom.xml
|
2020-04-27 09:34:45 +02:00
|
|
|
@@ -66,6 +66,11 @@
|
2018-08-26 20:11:49 +02:00
|
|
|
<version>2.8.1</version>
|
2017-09-18 12:07:47 +02:00
|
|
|
<scope>runtime</scope>
|
|
|
|
</dependency>
|
|
|
|
+ <dependency>
|
|
|
|
+ <groupId>org.apache.logging.log4j</groupId>
|
|
|
|
+ <artifactId>log4j-iostreams</artifactId>
|
|
|
|
+ <version>2.8.1</version>
|
|
|
|
+ </dependency>
|
|
|
|
<dependency>
|
2018-08-26 20:11:49 +02:00
|
|
|
<groupId>org.ow2.asm</groupId>
|
|
|
|
<artifactId>asm</artifactId>
|
2017-09-18 12:07:47 +02:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
2020-06-25 15:11:48 +02:00
|
|
|
index 49b5c226dcbd4ef7d2a3418ef2c7e98bb689ccfb..f6544e4fb0eacce7f3579998e8ec0743b7f46c65 100644
|
2017-09-18 12:07:47 +02:00
|
|
|
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
2020-06-25 15:11:48 +02:00
|
|
|
@@ -131,8 +131,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
2017-09-18 12:07:47 +02:00
|
|
|
*/
|
|
|
|
// Paper end
|
|
|
|
|
|
|
|
- System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
|
|
|
|
- System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
|
|
|
|
+ // Paper start - Use Log4j IOStreams
|
|
|
|
+ System.setOut(org.apache.logging.log4j.io.IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream());
|
|
|
|
+ System.setErr(org.apache.logging.log4j.io.IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream());
|
|
|
|
+ // Paper end
|
|
|
|
// CraftBukkit end
|
|
|
|
|
|
|
|
thread.setDaemon(true);
|