You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/03/27 04:46:52 UTC
svn commit: r1582174 -
/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java
Author: mattsicker
Date: Thu Mar 27 03:46:52 2014
New Revision: 1582174
URL: http://svn.apache.org/r1582174
Log:
Update to use InitialLoggerContext rule.
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java
Modified: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java?rev=1582174&r1=1582173&r2=1582174&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithJndiTest.java Thu Mar 27 03:46:52 2014
@@ -20,26 +20,16 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import java.io.File;
-import java.util.Map;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.core.Appender;
-import org.apache.logging.log4j.core.LoggerContext;
-import org.apache.logging.log4j.core.config.Configuration;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.junit.InitialLoggerContext;
import org.apache.logging.log4j.message.StructuredDataMessage;
-import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.test.appender.ListAppender;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.*;
import org.mockejb.jndi.MockContextFactory;
/**
@@ -47,44 +37,27 @@ import org.mockejb.jndi.MockContextFacto
*/
public class RoutingAppenderWithJndiTest {
- private static final String CONFIG = "log4j-routing-by-jndi.xml";
- private static Configuration config;
- private static ListAppender listAppender1;
- private static ListAppender listAppender2;
- private static LoggerContext ctx;
-
- @BeforeClass
- public static void setupClass() {
- System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
- ctx = (LoggerContext) LogManager.getContext(false);
- config = ctx.getConfiguration();
- for (final Map.Entry<String, Appender> entry : config.getAppenders().entrySet()) {
- if (entry.getKey().equals("List1")) {
- listAppender1 = (ListAppender) entry.getValue();
- }
- if (entry.getKey().equals("List2")) {
- listAppender2 = (ListAppender) entry.getValue();
- }
- }
- }
+ public static final String JNDI_CONTEXT_NAME = "java:comp/env/logging/context-name";
+ private ListAppender listAppender1;
+ private ListAppender listAppender2;
+
+ @Rule
+ public InitialLoggerContext init = new InitialLoggerContext("log4j-routing-by-jndi.xml");
@Before
public void before() throws NamingException {
MockContextFactory.setAsInitial();
+ listAppender1 = (ListAppender) this.init.getAppender("List1");
+ listAppender2 = (ListAppender) this.init.getAppender("List2");
}
@After
public void after() {
+ listAppender1.clear();
+ listAppender2.clear();
MockContextFactory.revertSetAsInitial();
}
- @AfterClass
- public static void cleanupClass() {
- System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
- ctx.reconfigure();
- StatusLogger.getLogger().reset();
- }
-
@Test
public void routingTest() throws NamingException {
// default route when there's no jndi resource
@@ -95,7 +68,7 @@ public class RoutingAppenderWithJndiTest
// now set jndi resource to Application1
Context context = new InitialContext();
- context.bind("java:comp/env/logging/context-name", "Application1");
+ context.bind(JNDI_CONTEXT_NAME, "Application1");
msg = new StructuredDataMessage("Test", "This is a message from Application1", "Context");
EventLogger.logEvent(msg);
@@ -103,7 +76,7 @@ public class RoutingAppenderWithJndiTest
assertTrue("Incorrect number of events. Expected 1, got " + listAppender1.getEvents().size(), listAppender1.getEvents().size() == 1);
// now set jndi resource to Application2
- context.rebind("java:comp/env/logging/context-name", "Application2");
+ context.rebind(JNDI_CONTEXT_NAME, "Application2");
msg = new StructuredDataMessage("Test", "This is a message from Application2", "Context");
EventLogger.logEvent(msg);