Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 02:50:09 +01:00
a0b8b886c8
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:
d5a72960
SPIGOT-6063: ConsoleSender sending extra lines in Java 13+
Spigot Changes:
2740d5ae Rebuild patches
56 Zeilen
2.1 KiB
Diff
56 Zeilen
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Minecrell <minecrell@minecrell.net>
|
|
Date: Tue, 17 Jul 2018 16:42:17 +0200
|
|
Subject: [PATCH] Use asynchronous Log4j 2 loggers
|
|
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index e3630cd3847c6a5d5b3c8a37fe6f101f938b8700..c10888b862541e244c9c9c60d45ef9fee59ae3e8 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -78,6 +78,13 @@
|
|
<version>2.8.1</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
+ <!-- Paper - Async loggers -->
|
|
+ <dependency>
|
|
+ <groupId>com.lmax</groupId>
|
|
+ <artifactId>disruptor</artifactId>
|
|
+ <version>3.4.2</version>
|
|
+ <scope>runtime</scope>
|
|
+ </dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
diff --git a/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..db652a1f7abc80bc751fd94925abaec58ab1a563
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java
|
|
@@ -0,0 +1,17 @@
|
|
+package com.destroystokyo.paper.log;
|
|
+
|
|
+import org.apache.logging.log4j.Level;
|
|
+import org.apache.logging.log4j.core.async.AsyncQueueFullPolicy;
|
|
+import org.apache.logging.log4j.core.async.EventRoute;
|
|
+
|
|
+public final class LogFullPolicy implements AsyncQueueFullPolicy {
|
|
+
|
|
+ /*
|
|
+ * Prevents log calls being logged out of order when the log queue is full.
|
|
+ */
|
|
+
|
|
+ @Override
|
|
+ public EventRoute getRoute(final long backgroundThreadId, final Level level) {
|
|
+ return EventRoute.ENQUEUE;
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties
|
|
index 0694b21465fb9e4164e71862ff24b62241b191f2..30efeb5faf8e7faccf1b252fa0ed6a9fc31c40a7 100644
|
|
--- a/src/main/resources/log4j2.component.properties
|
|
+++ b/src/main/resources/log4j2.component.properties
|
|
@@ -1 +1,3 @@
|
|
+Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
|
|
+log4j2.AsyncQueueFullPolicy="com.destroystokyo.paper.log.LogFullPolicy"
|
|
log4j.skipJansi=true
|