org.apache.samza.logging.log4j
Class JmxAppender

java.lang.Object
  extended by org.apache.log4j.AppenderSkeleton
      extended by org.apache.samza.logging.log4j.JmxAppender
All Implemented Interfaces:
org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler

public class JmxAppender
extends org.apache.log4j.AppenderSkeleton

JmxAppender is a simple class that exposes Log4J's getLevel and setLevel APIs through a JMX MBean. To enable this MBean, simply include the appender in log4j.xml:

<appender name="jmx" class="org.apache.samza.logging.log4j.JmxAppender"/>

And then enable it as a root logger:

<root> <!-- ...other stuff... --> <appender-ref ref="jmx" /> </root>


Nested Class Summary
static class JmxAppender.JmxLog4J
          An implementation of JmxLog4JMBean that calls getLevel and setLevel on the root logger.
static interface JmxAppender.JmxLog4JMBean
          An MBean to expose Log4J's getLevel and setLevel APIs.
 
Field Summary
static java.lang.String JMX_OBJECT_DOMAIN
           
static java.lang.String JMX_OBJECT_NAME
           
static java.lang.String JMX_OBJECT_TYPE
           
 
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
 
Constructor Summary
JmxAppender()
           
JmxAppender(javax.management.MBeanServer mbeanServer)
          Calling the default constructor causes this appender to register JmxLog4J as a JMX MBean.
 
Method Summary
protected  void append(org.apache.log4j.spi.LoggingEvent event)
           
 void close()
           
 boolean requiresLayout()
           
 
Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JMX_OBJECT_DOMAIN

public static final java.lang.String JMX_OBJECT_DOMAIN

JMX_OBJECT_TYPE

public static final java.lang.String JMX_OBJECT_TYPE
See Also:
Constant Field Values

JMX_OBJECT_NAME

public static final java.lang.String JMX_OBJECT_NAME
See Also:
Constant Field Values
Constructor Detail

JmxAppender

public JmxAppender()

JmxAppender

public JmxAppender(javax.management.MBeanServer mbeanServer)
Calling the default constructor causes this appender to register JmxLog4J as a JMX MBean.

Parameters:
mbeanServer - to be injected for unit testing.
Method Detail

close

public void close()

requiresLayout

public boolean requiresLayout()

append

protected void append(org.apache.log4j.spi.LoggingEvent event)
Specified by:
append in class org.apache.log4j.AppenderSkeleton