diff options
Diffstat (limited to 'Spigot-Server-Patches/0200-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch')
-rw-r--r-- | Spigot-Server-Patches/0200-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0200-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0200-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch new file mode 100644 index 0000000000..b28a0a32e0 --- /dev/null +++ b/Spigot-Server-Patches/0200-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -0,0 +1,49 @@ +From 24b3889d4c1ca6119886c22819850d47bf9ce2bd Mon Sep 17 00:00:00 2001 +From: Minecrell <[email protected]> +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 2b73ec28a1..0a6e81b680 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 5bb1ea880a..0d2c7a6dc4 100644 +--- a/src/main/java/net/minecraft/server/DedicatedServer.java ++++ b/src/main/java/net/minecraft/server/DedicatedServer.java +@@ -131,8 +131,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 + |