aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSpottedleaf <[email protected]>2019-06-29 20:40:23 -0700
committerSpottedleaf <[email protected]>2019-06-29 20:40:23 -0700
commit73e3c1144d38ab03b51866d197a0466e745c81f9 (patch)
tree2e756fb27c0ea85f83c301c42470a1b21132dd43
parent4180819fc0ce2d7d95abc172e6752a5ee1d9b7aa (diff)
downloadPaper-73e3c1144d38ab03b51866d197a0466e745c81f9.tar.gz
Paper-73e3c1144d38ab03b51866d197a0466e745c81f9.zip
Queue log events when log buffer is full
This should resolve out of order logs when the buffer is full
-rw-r--r--Spigot-Server-Patches/0287-Use-asynchronous-Log4j-2-loggers.patch29
1 files changed, 25 insertions, 4 deletions
diff --git a/Spigot-Server-Patches/0287-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0287-Use-asynchronous-Log4j-2-loggers.patch
index a9b66bef2c..a13af81e56 100644
--- a/Spigot-Server-Patches/0287-Use-asynchronous-Log4j-2-loggers.patch
+++ b/Spigot-Server-Patches/0287-Use-asynchronous-Log4j-2-loggers.patch
@@ -1,4 +1,4 @@
-From 82e41eb16264f724aa8745bc2ab2b2f0a50e94e8 Mon Sep 17 00:00:00 2001
+From e4543acbe559922a7b6d49169b517c785a37a0e7 Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Tue, 17 Jul 2018 16:42:17 +0200
Subject: [PATCH] Use asynchronous Log4j 2 loggers
@@ -22,13 +22,34 @@ index 3ad5af3463..9cbd4880f7 100644
<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 0000000000..dceb121bcc
+--- /dev/null
++++ b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java
+@@ -0,0 +1,13 @@
++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 {
++
++ @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
new file mode 100644
-index 0000000000..ee7c90784c
+index 0000000000..ee683079c1
--- /dev/null
+++ b/src/main/resources/log4j2.component.properties
-@@ -0,0 +1 @@
+@@ -0,0 +1,2 @@
+Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
++log4j2.AsyncQueueFullPolicy=com.destroystokyo.paper.log.LogFullPolicy
+\ No newline at end of file
--
-2.21.0
+2.22.0