The version of Apache log4j used by SoundHelix.
Clone
HTTPS:
git clone https://vervis.peers.community/repos/aEp6o
SSH:
git clone USERNAME@vervis.peers.community:aEp6o
Branches
Tags
- 1.3alpha-7
- CHAINSAW_2_SANDBOX_MERGE
- CORE_VERSION
- LEVEL_REPLACES_PRIORITY
- PREALPHA_1_3_AS_OF_2004_05_12
- PRE_CHAINSAW_MODEL_CONVERSION
- PRE_UGLI_MOVE
- TAG_CHAINSAW2_MOVE
- log4j-1.2.17
- log4j-1.2.17-rc1
- v1.3alpha8
- v1.3alpha8-temp
- v1_2_1
- v1_2_10-recalled
- v1_2_11
- v1_2_11_rc1
- v1_2_11rc3
- v1_2_12
- v1_2_12_rc1
- v1_2_12_rc2
- v1_2_12_rc3
- v1_2_12_rc4
- v1_2_12_rc5
- v1_2_12_rc6
- v1_2_13
- v1_2_13_rc1
- v1_2_13_rc2
- v1_2_13_site_update
- v1_2_14
- v1_2_14_maven
- v1_2_14_rc1
- v1_2_14_site_update
- v1_2_15
- v1_2_15_rc1
- v1_2_15_rc2
- v1_2_15_rc3
- v1_2_15_rc4
- v1_2_15_rc5
- v1_2_15_rc6
- v1_2_16
- v1_2_16_rc1
- v1_2_16_rc2
- v1_2_17
- v1_2_17-rc1
- v1_2_17_rc1
- v1_2_17_rc2
- v1_2_17_rc3
- v1_2_2
- v1_2_3
- v1_2_4
- v1_2_6
- v1_2_7
- v1_2_9
- v1_2_alpha0
- v1_2_alpha7
- v1_2beta1
- v1_2final
- v1_3alpha_1
- v1_3alpha_6
- v_1_0
- v_1_0_1
- v_1_0_4
- v_1_1
- v_1_1_1
- v_1_1_2
- v_1_1_3
- v_1_1_b1
- v_1_1b2
- v_1_1b3
- v_1_1b5
- v_1_1b6
- v_1_1b7
- v_1_2beta3
MultiplexAppenderTest.java
package org.apache.log4j.multiplex;
import junit.framework.TestCase;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.multiplex.AppenderFactory;
import org.apache.log4j.multiplex.AppenderFactoryUtils;
import org.apache.log4j.multiplex.MDCKeySelector;
import org.apache.log4j.multiplex.MultiplexAppender;
import org.apache.log4j.rolling.RollingFileAppender;
import org.apache.log4j.rolling.TimeBasedRollingPolicy;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.util.Compare;
/**
* @author psmith
*
*/
public class MultiplexAppenderTest extends TestCase {
private Logger root;
private Logger logger = Logger
.getLogger(MultiplexAppenderTest.class);
public void setUp() {
root = Logger.getRootLogger();
root.addAppender(new ConsoleAppender(new PatternLayout(
"%d{ABSOLUTE} %c{1} [%properties{User}] %m%n") ));
}
public void testIllegalStates() {
MultiplexAppender appender = null;
appender = new MultiplexAppender();
try {
appender.activateOptions();
fail("Should have thrown an IllegalStateException because it should not be configured correctly");
} catch (Exception e) {
// expected
}
appender = null;
}
/*
* (non-Javadoc)
*
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
LogManager.shutdown();
}
public void testMDCSelector() throws Exception {
MultiplexAppender appender = new MultiplexAppender();
final String mdcKey = "User";
MDCKeySelector selector = new MDCKeySelector(mdcKey);
appender.setSelector(selector);
selector.setAppenderFactory(AppenderFactoryUtils.createSimpleMDCbasedFileAppender("output/MultiplexRollingFileAppenderTestMDC", mdcKey, new PatternLayout("%m%n")));
selector.activateOptions();
logger.addAppender(appender);
MDC.put(mdcKey, "Bob");
logger.debug("Hello Bob");
MDC.put(mdcKey, "Jane");
logger.debug("Hello Jane");
MDC.put(mdcKey, "Bob");
logger.debug("I wonder what Jane's file looks like");
MDC.put(mdcKey, "Jane");
logger.debug("Bob. Be quiet.");
assertTrue("Bob's file does not match expected", Compare.compare("witness/multiplex/multiplex-test1_bob.txt", "output/MultiplexRollingFileAppenderTestMDC_Bob.log"));
assertTrue("Jane's file does not match expected", Compare.compare("witness/multiplex/multiplex-test1_jane.txt", "output/MultiplexRollingFileAppenderTestMDC_Jane.log"));
}
// TODO we need a test that tests when the MDC value is null/not found
public void testcreateMDCAndDailyRollingAppenderFactory() {
AppenderFactory factory = AppenderFactoryUtils.createMDCAndDailyRollingAppenderFactory("output/standardMDC", "User", new PatternLayout("%m%n"));
MDC.put("User", "Bob");
LoggingEvent e = new LoggingEvent();
RollingFileAppender appender = (RollingFileAppender) factory.create(e);
assertEquals(appender.getTriggeringPolicy().getClass(), TimeBasedRollingPolicy.class);
//TimeBasedRollingPolicy policy =(TimeBasedRollingPolicy) appender.getTriggeringPolicy();
}
}