Package org.apache.log4j.multiplex

Source Code of org.apache.log4j.multiplex.MultiplexAppender

package org.apache.log4j.multiplex;

import org.apache.log4j.Appender;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;

/**
*
* TODO discuss how the Selector and AppenderFactory works
*
*
* @author psmith
*/
public class MultiplexAppender extends AppenderSkeleton {

  private MultiplexSelector selector;

  /*
   * (non-Javadoc)
   *
   * @see org.apache.log4j.spi.OptionHandler#activateOptions()
   */
  public void activateOptions() {


    // check that we have a selector of something at this point
    if (getSelector() == null) {
      throw new IllegalStateException(
          "Should have had a Selector defined at this point");
    }

        // TODO work out how the Selector has it's AppenderFactory configured by Joran
     

  }

  /*
   * (non-Javadoc)
   *
   * @see org.apache.log4j.Appender#close()
   */
  public void close() {
    getSelector().close();

  }

  /**
   * @return Returns the selector.
   */
  public final MultiplexSelector getSelector() {
    return selector;
  }

  /*
   * (non-Javadoc)
   *
   * @see org.apache.log4j.Appender#requiresLayout()
   */
  public boolean requiresLayout() {
    //        TODO check this is correct
    return true;
  }

  /**
   * @param selector
   *            The selector to set.
   */
  public final void setSelector(MultiplexSelector selector) {
    this.selector = selector;
  }

  /*
   * (non-Javadoc)
   *
   * @see org.apache.log4j.WriterAppender#subAppend(org.apache.log4j.spi.LoggingEvent)
   */
  protected void append(LoggingEvent event) {

    // we assume appropriate syncronization has occured on this appender

    // determinge the key to lookup the Appender to use
    Appender appender = getSelector().select(event);
    appender.doAppend(event);

  }
}
TOP

Related Classes of org.apache.log4j.multiplex.MultiplexAppender

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.