mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-23 11:06:29 +01:00
64ed429884
This is a pretty tiny update with very little changed. Recommended to update from 1.16.2 ASAP as 1.16.2 is now no longer supported. Plugins should mostly remain working as the NMS revision did not change.
56 lines
2.2 KiB
Diff
56 lines
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 d4676c4711942e414890e7fb5f12e596337b62e2..b67b01c5af49b948fc0642a8caa6d5df5c1ed13e 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
|