PaperMC/CraftBukkit-Patches/0144-Make-debug-logging-togglable.patch

67 lines
2.5 KiB
Diff

From c11e87b8641201bbfd08f766f27d6755241a17e5 Mon Sep 17 00:00:00 2001
From: Minecrell <dev@minecrell.net>
Date: Sun, 17 Aug 2014 12:42:53 +0200
Subject: [PATCH] Make debug logging togglable.
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index a187598..f6a67d6 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -17,6 +17,9 @@ import gnu.trove.map.hash.TObjectIntHashMap;
import net.minecraft.server.AttributeRanged;
import net.minecraft.server.GenericAttributes;
import net.minecraft.server.MinecraftServer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.Configuration;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@@ -361,4 +364,27 @@ public class SpigotConfig
attackDamage = getDouble( "settings.attribute.attackDamage.max", attackDamage );
( (AttributeRanged) GenericAttributes.ATTACK_DAMAGE ).b = attackDamage;
}
+
+ public static boolean debug;
+ private static void debug()
+ {
+ debug = getBoolean( "settings.debug", false );
+
+ if ( debug && !LogManager.getRootLogger().isTraceEnabled() )
+ {
+ // Enable debug logging
+ LoggerContext ctx = (LoggerContext) LogManager.getContext( false );
+ Configuration conf = ctx.getConfiguration();
+ conf.getLoggerConfig( LogManager.ROOT_LOGGER_NAME ).setLevel( org.apache.logging.log4j.Level.ALL );
+ ctx.updateLoggers( conf );
+ }
+
+ if ( LogManager.getRootLogger().isTraceEnabled() )
+ {
+ Bukkit.getLogger().info( "Debug logging is enabled" );
+ } else
+ {
+ Bukkit.getLogger().info( "Debug logging is disabled" );
+ }
+ }
}
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 08d68aa..f37d1c2 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -18,9 +18,9 @@
<filters>
<MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />
</filters>
- <AppenderRef ref="WINDOWS_COMPAT"/>
+ <AppenderRef ref="WINDOWS_COMPAT" level="info"/>
<AppenderRef ref="File"/>
- <AppenderRef ref="TerminalConsole"/>
+ <AppenderRef ref="TerminalConsole" level="info"/>
</Root>
</Loggers>
</Configuration>
--
2.1.4