geforkt von Mirrors/Paper
36f34f01c0
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 Bukkit Changes: da9ef3c5 #496: Add methods to get/set ItemStacks in EquipmentSlots 3abebc9f #492: Let Tameable extend Animals rather than Entity 941111a0 #495: Expose ItemStack and hand used in PlayerShearEntityEvent 4fe19cae #494: InventoryView - Add missing Brewing FUEL_TIME CraftBukkit Changes:933e9094
#664: Add methods to get/set ItemStacks in EquipmentSlots18722312
#662: Expose ItemStack and hand used in PlayerShearEntityEvent
56 Zeilen
2.2 KiB
Diff
56 Zeilen
2.2 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 6fe4eff84b8a4476538bba144ef186d93345e284..fd417a9eeb7a3371ceabc07b49a7406b38b419a3 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -77,6 +77,13 @@
|
|
<artifactId>log4j-iostreams</artifactId>
|
|
<version>2.8.1</version>
|
|
</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
|