Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 17543ecf SPIGOT-5035: Error Using Virtual Merchant GUI 0fc6922b SPIGOT-5028: Villager#setVillagerExperience() doesn't work bdbdbe44 SPIGOT-5024: Fox error - Unknown target reason
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From c671235ab46a0cd172550c9ae08c34b20c47b617 Mon Sep 17 00:00:00 2001
|
|
From: Minecrell <minecrell@minecrell.net>
|
|
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
|
|
index d379d33d15..80359d1bf5 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -63,6 +63,11 @@
|
|
<version>2.8.1</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.apache.logging.log4j</groupId>
|
|
+ <artifactId>log4j-iostreams</artifactId>
|
|
+ <version>2.8.1</version>
|
|
+ </dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
index 37020dcba5..c2c676e3bb 100644
|
|
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
@@ -135,8 +135,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
|
*/
|
|
// 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);
|
|
--
|
|
2.21.0
|
|
|