/** * Constructs an instance. */ public LogbackAccessRequestLog() { // Creates the Logback-access context. context = new AccessContext(); context.setName(toString()); }
if (context.getFilterChainDecision(event) == FilterReply.DENY) { break; context.callAppenders(event);
/** {@inheritDoc} */ @Override protected void stopInternal() throws LifecycleException { super.stopInternal(); // Stops and resets the Logback-access context. context.stop(); context.reset(); context.detachAndStopAllAppenders(); context.clearAllFilters(); }
static void init(String portStr, String configFile) throws JoranException { try { port = Integer.parseInt(portStr); } catch (java.lang.NumberFormatException e) { e.printStackTrace(); usage("Could not interpret port number [" + portStr + "]."); } basicContext = new AccessContext(); if (configFile.endsWith(".xml")) { JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(basicContext); configurator.doConfigure(configFile); StatusPrinter.print(basicContext); } } }
@Test public void conditionalConsoleApp_IF_THEN_False() throws JoranException, IOException, InterruptedException { context.putProperty("aHost", null); configure(AccessTestConstants.TEST_DIR_PREFIX + "input/joran/conditional/conditionalConsole.xml"); ConsoleAppender consoleAppender = (ConsoleAppender) context.getAppender("CON"); assertNull(consoleAppender); StatusChecker checker = new StatusChecker(context); assertTrue(checker.isErrorFree(0)); }
@Test public void defaultLayout() throws Exception { configure(AccessTestConstants.TEST_DIR_PREFIX + "input/joran/defaultLayout.xml"); StringListAppender<IAccessEvent> listAppender = (StringListAppender<IAccessEvent>) context.getAppender("STR_LIST"); IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent(); listAppender.doAppend(event); assertEquals(1, listAppender.strList.size()); // the result contains a line separator at the end assertTrue(listAppender.strList.get(0).startsWith("testMethod")); } }
@Before public void setUp() { InetAddress localhost = null; try { localhost = InetAddress.getLocalHost(); context.putProperty("aHost", localhost.getHostName()); } catch (UnknownHostException e) { e.printStackTrace(); } }
@Test public void testCheckNoHeadersAreInserted() throws Exception { setInsertHeadersAndStart(false); IAccessEvent event = createAccessEvent(); appender.append(event); StatusPrinter.print(context.getStatusManager()); // Check that no headers were inserted Statement stmt = connectionSource.getConnection().createStatement(); ResultSet rs = null; rs = stmt.executeQuery("SELECT * FROM access_event_header where EVENT_ID = " + existingEventTableRowCount); assertFalse(rs.next()); rs.close(); stmt.close(); }
@Test public void conditionalConsoleApp_ELSE() throws JoranException, IOException, InterruptedException { configure(AccessTestConstants.TEST_DIR_PREFIX + "input/joran/conditional/conditionalConsole_ELSE.xml"); ConsoleAppender consoleAppender = (ConsoleAppender) context.getAppender("CON"); assertNull(consoleAppender); ListAppender listAppender = (ListAppender) context.getAppender("LIST"); assertNotNull(listAppender); assertTrue(checker.isErrorFree(0)); } }
/** * Constructs an instance. */ public LogbackAccessValve() { // Allows asynchronous responses. setAsyncSupported(true); // Creates the Logback-access context. context = new AccessContext(); context.setName(toString()); }
/** {@inheritDoc} */ @Override public void log(Request request, Response response) { // Creates a access event. JettyAccessEvent accessEvent = new JettyAccessEvent(request, response); accessEvent.setThreadName(Thread.currentThread().getName()); accessEvent.setUseServerPortInsteadOfLocalPort(properties.getUseServerPortInsteadOfLocalPort()); // Calls appenders. if (context.getFilterChainDecision(accessEvent) != FilterReply.DENY) { context.callAppenders(accessEvent); } }
/** {@inheritDoc} */ @Override protected void doStop() throws Exception { super.doStop(); // Stops and resets the Logback-access context. context.stop(); context.reset(); context.detachAndStopAllAppenders(); context.clearAllFilters(); }
@Test public void smoke() throws Exception { configure(AccessTestConstants.TEST_DIR_PREFIX + "input/joran/smoke.xml"); ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) context.getAppender("LIST"); IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent(); listAppender.doAppend(event); assertEquals(1, listAppender.list.size()); assertEquals(1, listAppender.list.size()); IAccessEvent ae = listAppender.list.get(0); assertNotNull(ae); }
@Before public void setUp() throws SQLException { context = new AccessContext(); context.setName("default"); appender = new DBAppender(); appender.setName("DB"); appender.setContext(context); connectionSource = new DriverManagerConnectionSource(); connectionSource.setContext(context); connectionSource.setDriverClass(DBAppenderHSQLTestFixture.DRIVER_CLASS); connectionSource.setUrl(DB_APPENDER_HSQL_TEST_FIXTURE.url); connectionSource.setUser(DB_APPENDER_HSQL_TEST_FIXTURE.user); connectionSource.setPassword(DB_APPENDER_HSQL_TEST_FIXTURE.password); connectionSource.start(); appender.setConnectionSource(connectionSource); stmt = connectionSource.getConnection().createStatement(); existingEventTableRowCount = existingEventTableRowCount(stmt); }
/** {@inheritDoc} */ @Override public void log(Request request, Response response, long time) { // Creates a access event. TomcatAccessEvent accessEvent = new TomcatAccessEvent(request, response); accessEvent.setThreadName(Thread.currentThread().getName()); accessEvent.setUseServerPortInsteadOfLocalPort(properties.getUseServerPortInsteadOfLocalPort()); accessEvent.setRequestAttributesEnabled(requestAttributesEnabled); // Calls appenders. if (context.getFilterChainDecision(accessEvent) != FilterReply.DENY) { context.callAppenders(accessEvent); } }
@Test public void conditionalConsoleApp_IF_THEN_True() throws JoranException, UnknownHostException { configure(AccessTestConstants.TEST_DIR_PREFIX + "input/joran/conditional/conditionalConsole.xml"); ConsoleAppender consoleAppender = (ConsoleAppender) context.getAppender("CON"); assertNotNull(consoleAppender); assertTrue(checker.isErrorFree(0)); }
public void doTest(String configFile) throws JoranException { JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(context); configurator.doConfigure(configFile); Appender<IAccessEvent> appender = context.getAppender("DB"); for (int i = 0; i < 10; i++) { IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent(); appender.doAppend(event); } StatusPrinter.print(context); // check that there were no errors assertEquals(Status.INFO, statusChecker.getHighestLevel(0)); }