Author: rpopma
Date: Sat Jun 14 13:22:35 2014
New Revision: 1602587
URL: http://svn.apache.org/r1602587
Log:
LOG4J2-637: (JMX) Updating a Logger's level via jConsole now works correctly.
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerConfigAdmin.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
logging/log4j/log4j2/trunk/src/changes/changes.xml
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerConfigAdmin.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerConfigAdmin.java?rev=1602587&r1=1602586&r2=1602587&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerConfigAdmin.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerConfigAdmin.java
Sat Jun 14 13:22:35 2014
@@ -21,6 +21,7 @@ import java.util.List;
import javax.management.ObjectName;
import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.AppenderRef;
import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.util.Assert;
@@ -30,7 +31,7 @@ import org.apache.logging.log4j.core.uti
*/
public class LoggerConfigAdmin implements LoggerConfigAdminMBean {
- private final String contextName;
+ private final LoggerContext loggerContext;
private final LoggerConfig loggerConfig;
private final ObjectName objectName;
@@ -41,12 +42,12 @@ public class LoggerConfigAdmin implement
* @param contextName used in the {@code ObjectName} for this mbean
* @param loggerConfig the instrumented object
*/
- public LoggerConfigAdmin(final String contextName, final LoggerConfig
loggerConfig) {
+ public LoggerConfigAdmin(final LoggerContext loggerContext, final
LoggerConfig loggerConfig) {
// super(executor); // no notifications for now
- this.contextName = Assert.requireNonNull(contextName, "contextName");
+ this.loggerContext = Assert.requireNonNull(loggerContext,
"loggerContext");
this.loggerConfig = Assert.requireNonNull(loggerConfig,
"loggerConfig");
try {
- final String ctxName = Server.escape(this.contextName);
+ final String ctxName = Server.escape(loggerContext.getName());
final String configName = Server.escape(loggerConfig.getName());
final String name = String.format(PATTERN, ctxName, configName);
objectName = new ObjectName(name);
@@ -78,6 +79,7 @@ public class LoggerConfigAdmin implement
@Override
public void setLevel(final String level) {
loggerConfig.setLevel(Level.getLevel(level));
+ loggerContext.updateLoggers();
}
@Override
@@ -88,6 +90,7 @@ public class LoggerConfigAdmin implement
@Override
public void setAdditive(final boolean additive) {
loggerConfig.setAdditive(additive);
+ loggerContext.updateLoggers();
}
@Override
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java?rev=1602587&r1=1602586&r2=1602587&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
Sat Jun 14 13:22:35 2014
@@ -320,7 +320,7 @@ public final class Server {
final Map<String, LoggerConfig> map =
ctx.getConfiguration().getLoggers();
for (final String name : map.keySet()) {
final LoggerConfig cfg = map.get(name);
- final LoggerConfigAdmin mbean = new
LoggerConfigAdmin(ctx.getName(), cfg);
+ final LoggerConfigAdmin mbean = new LoggerConfigAdmin(ctx, cfg);
register(mbs, mbean, mbean.getObjectName());
if (cfg instanceof AsyncLoggerConfig) {
Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1602587&r1=1602586&r2=1602587&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Sat Jun 14 13:22:35 2014
@@ -22,6 +22,9 @@
</properties>
<body>
<release version="2.0-rc2" date="2014-MM-DD" description="Bug fixes and
enhancements">
+ <action issue="LOG4J2-637" dev="rpopma" type="fix" due-to="Mansoor
Sajjad, Jon Wilmoth">
+ JMX: Updating a Logger's level via jConsole now correctly takes effect.
+ </action>
<action issue="LOG4J2-668" dev="rpopma" type="fix">
Correctly process log events when combining AsyncLoggers with
AsyncAppender.
</action>