Skip to content

Commit

Permalink
Queue log events when log buffer is full
Browse files Browse the repository at this point in the history
This should resolve out of order logs when the buffer is full
  • Loading branch information
Spottedleaf committed Jun 30, 2019
1 parent 4180819 commit 73e3c11
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions 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 <minecrell@minecrell.net>
Date: Tue, 17 Jul 2018 16:42:17 +0200
Subject: [PATCH] Use asynchronous Log4j 2 loggers
Expand All @@ -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

0 comments on commit 73e3c11

Please sign in to comment.