Author: carnold
Date: Wed Jan 14 10:53:15 2009
New Revision: 734480
URL: http://svn.apache.org/viewvc?rev=734480&view=rev
Log:
Bug 46163: LoggerDynamicMBean needs to handle a null Appender name
Modified:
logging/log4j/trunk/src/changes/changes.xml
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
Modified: logging/log4j/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/trunk/src/changes/changes.xml?rev=734480&r1=734479&r2=734480&view=diff
==============================================================================
--- logging/log4j/trunk/src/changes/changes.xml (original)
+++ logging/log4j/trunk/src/changes/changes.xml Wed Jan 14 10:53:15 2009
@@ -72,6 +72,7 @@
<action action="fix" issue="46271">SyslogAppender.append throws
exception if layout is not set.</action>
<action action="fix" issue="46144">QuietWriter.write should check for
null argument.</action>
<action action="fix" issue="46512">LogFactor5 CategoryPath doesn't
replace slashes with dots.</action>
+ <action action="fix" issue="46163">LoggerDynamicMBean needs to handle a
null Appender name.</action>
</release>
Modified:
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java
URL:
http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java?rev=734480&r1=734479&r2=734480&view=diff
==============================================================================
---
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java
(original)
+++
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java
Wed Jan 14 10:53:15 2009
@@ -35,6 +35,7 @@
import javax.management.RuntimeOperationsException;
import org.apache.log4j.Logger;
+import org.apache.log4j.Appender;
public abstract class AbstractDynamicMBean implements DynamicMBean,
MBeanRegistration {
@@ -43,6 +44,22 @@
MBeanServer server;
private final Vector mbeanList = new Vector();
+ /**
+ * Get MBean name.
+ * @param appender appender, may not be null.
+ * @return name.
+ * @since 1.2.16
+ */
+ static protected String getAppenderName(final Appender appender){
+ String name = appender.getName();
+ if (name == null || name.trim().length() == 0) {
+ // try to get some form of a name, because null is not allowed
(exception), and empty string certainly isn't useful in JMX..
+ name = appender.toString();
+ }
+ return name;
+ }
+
+
/**
* Enables the to get the values of several attributes of the Dynamic MBean.
*/
Modified:
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java
URL:
http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java?rev=734480&r1=734479&r2=734480&view=diff
==============================================================================
---
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java
(original)
+++
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java
Wed Jan 14 10:53:15 2009
@@ -193,7 +193,7 @@
if(layout == null)
return;
- String name = appender.getName()+",layout="+layout.getClass().getName();
+ String name =
getAppenderName(appender)+",layout="+layout.getClass().getName();
cat.debug("Adding LayoutMBean:"+name);
ObjectName objectName = null;
try {
Modified:
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
URL:
http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java?rev=734480&r1=734479&r2=734480&view=diff
==============================================================================
---
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
(original)
+++
logging/log4j/trunk/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
Wed Jan 14 10:53:15 2009
@@ -255,7 +255,7 @@
}
void registerAppenderMBean(Appender appender) {
- String name = appender.getName();
+ String name = getAppenderName(appender);
cat.debug("Adding AppenderMBean for appender named "+name);
ObjectName objectName = null;
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]