mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 04:02:50 +01:00
4cdbb0c86c
Upstream has released updates that appear 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: 044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce() 43373c44 PR-904: Update FeatureFlag for 1.20.2 a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods 0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity bcd8d2aa PR-912: Update Minecraft Wiki URLs CraftBukkit Changes: 99aafc222 Increase outdated build delay dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 041b29ae3 Upgrade specialsource-maven-plugin 851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce() 251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods 46e4ba627 Upgrade specialsource-maven-plugin df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity 8d0fea457 PR-1262: Update Minecraft Wiki URLs e62905aab SPIGOT-7490: Fix entity equipment updates Spigot Changes: a0f3d486 Rebuild patches
67 lines
2.7 KiB
Diff
67 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jos=C3=A9=20Miguel=20Moreno?= <josemmo@pm.me>
|
|
Date: Sat, 5 Jun 2021 13:45:15 +0200
|
|
Subject: [PATCH] Fix plugin loggers on server shutdown
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/log/CustomLogManager.java b/src/main/java/io/papermc/paper/log/CustomLogManager.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dcd79602dc
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/log/CustomLogManager.java
|
|
@@ -0,0 +1,26 @@
|
|
+package io.papermc.paper.log;
|
|
+
|
|
+import java.util.logging.LogManager;
|
|
+
|
|
+public class CustomLogManager extends LogManager {
|
|
+ private static CustomLogManager instance;
|
|
+
|
|
+ public CustomLogManager() {
|
|
+ instance = this;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void reset() {
|
|
+ // Ignore calls to this method
|
|
+ }
|
|
+
|
|
+ private void superReset() {
|
|
+ super.reset();
|
|
+ }
|
|
+
|
|
+ public static void forceReset() {
|
|
+ if (instance != null) {
|
|
+ instance.superReset();
|
|
+ }
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index dd05048c5c9c37002708f0eee4e4fa0f6d86834c..b5ffa564cf6389b6af281ecf12b8daa139861608 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -980,6 +980,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Use TerminalConsoleAppender
|
|
} catch (Exception e) {
|
|
}
|
|
+ io.papermc.paper.log.CustomLogManager.forceReset(); // Paper - Reset loggers after shutdown
|
|
this.onServerExit();
|
|
// Paper end - move final shutdown items here
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index 84c9998a01000d5b7d70e5724dd03be1536ba297..cac89e4a445262b97c727640d1593a3d74e82b72 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -18,6 +18,12 @@ public class Main {
|
|
public static boolean useJline = true;
|
|
public static boolean useConsole = true;
|
|
|
|
+ // Paper start - Hijack log manager to ensure logging on shutdown
|
|
+ static {
|
|
+ System.setProperty("java.util.logging.manager", "io.papermc.paper.log.CustomLogManager");
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public static void main(String[] args) {
|
|
// Paper start
|
|
final String warnWhenLegacyFormattingDetected = String.join(".", "net", "kyori", "adventure", "text", "warnWhenLegacyFormattingDetected");
|