From c120657fb9e8714662a4d1e1d3294be6d5804dea Mon Sep 17 00:00:00 2001 From: Minecrell 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 4ecb3cd..c03388d 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; @@ -360,4 +363,27 @@ public class SpigotConfig attackDamage = getDouble( "settings.attribute.attackDamage.max", attackDamage ); ( (AttributeRanged) GenericAttributes.e ).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 @@ - + - + -- 2.1.0