/** * Indicate that the specified key is no longer used. * @param key */ private void keyComplete(String key) { Preconditions.checkNotNull(key, "Key must be specified"); boolean removed = knownAppenders.remove(key); if (removed) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting Appender for key: " + key); } routingAppender.deleteAppender(key); } else { LOGGER.trace("Ignoring call to remove unknown key: " + key); } }
@Test public void testRoutingPresence1() { logAndCheck(); checkStaticVars(); }
@Test public void testRoutingPresence2() { logAndCheck(); checkStaticVars(); } }
@Test public void testRoutingAppenderRoutes() { final RoutingAppender routingAppender = getRoutingAppender(); Assert.assertEquals(expectBindingEntries, routingAppender.getDefaultRouteScript() != null); Assert.assertEquals(expectBindingEntries, routingAppender.getDefaultRoute() != null); final Routes routes = routingAppender.getRoutes(); Assert.assertNotNull(routes); Assert.assertNotNull(routes.getPatternScript()); final LogEvent logEvent = DefaultLogEventFactory.getInstance().createEvent("", null, "", Level.ERROR, null, null, null); Assert.assertEquals("Service2", routes.getPattern(logEvent, new ConcurrentHashMap<>())); }
@Test public void testRoutingAppenderDefaultRouteKey() { final RoutingAppender routingAppender = getRoutingAppender(); Assert.assertNotNull(routingAppender.getDefaultRouteScript()); Assert.assertNotNull(routingAppender.getDefaultRoute()); Assert.assertEquals("Service2", routingAppender.getDefaultRoute().getKey()); }
private ListAppender getListAppender() { final String key = "Service2"; final RoutingAppender routingAppender = getRoutingAppender(); Assert.assertTrue(routingAppender.isStarted()); final Map<String, AppenderControl> appenders = routingAppender.getAppenders(); final AppenderControl appenderControl = appenders.get(key); assertNotNull("No appender control generated for '" + key + "'; appenders = " + appenders, appenderControl); final ListAppender listAppender = (ListAppender) appenderControl.getAppender(); return listAppender; }
private ListAppender getListAppender() { final String key = "Service2"; final RoutingAppender routingAppender = getRoutingAppender(); Assert.assertTrue(routingAppender.isStarted()); final Map<String, AppenderControl> appenders = routingAppender.getAppenders(); final AppenderControl appenderControl = appenders.get(key); assertNotNull("No appender control generated for '" + key + "'; appenders = " + appenders, appenderControl); final ListAppender listAppender = (ListAppender) appenderControl.getAppender(); return listAppender; }
@Test public void testListAppenderPresence() { // No appender until an event is routed, even thought we initialized the default route on startup. Assert.assertNull("No appender control generated", getRoutingAppender().getAppenders().get("Service2")); }
@Test public void testListAppenderPresence() { // No appender until an event is routed, even thought we initialized the default route on startup. Assert.assertNull("No appender control generated", getRoutingAppender().getAppenders().get("Service2")); }
@Test public void testNoRewritePolicy() { // No RewritePolicy in this test Assert.assertNull("Unexpected RewritePolicy", getRoutingAppender().getRewritePolicy()); }
private void checkStaticVars() { final RoutingAppender routingAppender = getRoutingAppender(); final ConcurrentMap<Object, Object> map = routingAppender.getScriptStaticVariables(); if (expectBindingEntries) { Assert.assertEquals("TestValue2", map.get("TestKey")); Assert.assertEquals("HEXDUMP", map.get("MarkerName")); } }
@Test public void testNoRewritePolicy() { // No RewritePolicy in this test Assert.assertNull("Unexpected RewritePolicy", getRoutingAppender().getRewritePolicy()); }
private void checkStaticVars() { final RoutingAppender routingAppender = getRoutingAppender(); final ConcurrentMap<Object, Object> map = routingAppender.getScriptStaticVariables(); if (expectBindingEntries) { Assert.assertEquals("TestValue2", map.get("TestKey")); Assert.assertEquals("HEXDUMP", map.get("MarkerName")); } } private ListAppender getListAppender() {
@Test public void testNoPurgePolicy() { // No PurgePolicy in this test Assert.assertNull("Unexpected PurgePolicy", getRoutingAppender().getPurgePolicy()); }
@Test public void testNoPurgePolicy() { // No PurgePolicy in this test Assert.assertNull("Unexpected PurgePolicy", getRoutingAppender().getPurgePolicy()); }
@Test public void testRoutingAppenderPresence() { getRoutingAppender(); }
@Test public void testRoutingAppenderPresence() { getRoutingAppender(); }
private void logAndCheck() { final Marker marker = MarkerManager.getMarker("HEXDUMP"); final Logger logger = loggerContextRule.getLogger(RoutesScriptAppenderTest.class); logger.error("Hello"); final ListAppender listAppender = getListAppender(); final List<LogEvent> list = listAppender.getEvents(); assertNotNull("No events generated", list); assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1); logger.error("World"); assertTrue("Incorrect number of events. Expected 2, got " + list.size(), list.size() == 2); logger.error(marker, "DEADBEEF"); assertTrue("Incorrect number of events. Expected 3, got " + list.size(), list.size() == 3); }
@Test public void testRoutingPresence2() { logAndCheck(); checkStaticVars(); } }
@Test public void testRoutingPresence1() { logAndCheck(); checkStaticVars(); }