Java 类ch.qos.logback.core.read.ListAppender 实例源码

项目:bartleby    文件:AsyncAppenderBaseTest.java   
@Test
public void workerThreadFlushesOnStop() {
  int loopLen = 5;
  int maxRuntime = (loopLen + 1) * Math.max(1000, delayingListAppender.delay);
  ListAppender la = delayingListAppender;
  asyncAppenderBase.addAppender(la);
  asyncAppenderBase.setDiscardingThreshold(0);
  asyncAppenderBase.setMaxFlushTime(maxRuntime);
  asyncAppenderBase.start();
  asyncAppenderBase.worker.suspend();

  for (int i = 0; i < loopLen; i++) {
    asyncAppenderBase.doAppend(i);
  }
  assertEquals(loopLen, asyncAppenderBase.getNumberOfElementsInQueue());
  assertEquals(0, la.list.size());

  asyncAppenderBase.worker.resume();
  asyncAppenderBase.stop();

  assertEquals(0, asyncAppenderBase.getNumberOfElementsInQueue());
  verify(la, loopLen);
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void testLevelFilter() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX + "levelFilter.xml");

  // StatusPrinter.print(loggerContext);

  logger.warn("hello");
  logger.error("to be ignored");

  @SuppressWarnings("unchecked")
  ListAppender<ILoggingEvent> listAppender = (ListAppender) root
          .getAppender("LIST");

  assertNotNull(listAppender);
  assertEquals(1, listAppender.list.size());
  ILoggingEvent back = listAppender.list.get(0);
  assertEquals(Level.WARN, back.getLevel());
  assertEquals("hello", back.getMessage());
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void testEvaluatorFilter() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX + "evaluatorFilter.xml");

  // StatusPrinter.print(loggerContext);

  logger.warn("hello");
  logger.error("to be ignored");

  @SuppressWarnings("unchecked")
  ListAppender<ILoggingEvent> listAppender = (ListAppender) root
          .getAppender("LIST");

  assertNotNull(listAppender);
  assertEquals(1, listAppender.list.size());
  ILoggingEvent back = listAppender.list.get(0);
  assertEquals(Level.WARN, back.getLevel());
  assertEquals("hello", back.getMessage());
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void testTurboDynamicThreshold() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX
          + "turboDynamicThreshold.xml");

  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());

  // this one should be denied
  MDC.put("userId", "user1");
  logger.debug("hello user1");
  // this one should log
  MDC.put("userId", "user2");
  logger.debug("hello user2");

  assertEquals(1, listAppender.list.size());
  ILoggingEvent le = (ILoggingEvent) listAppender.list.get(0);
  assertEquals("hello user2", le.getMessage());
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void testTurboDynamicThreshold2() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX
          + "turboDynamicThreshold2.xml");

  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());

  // this one should log
  MDC.put("userId", "user1");
  logger.debug("hello user1");
  // this one should log
  MDC.put("userId", "user2");
  logger.debug("hello user2");
  // this one should fail
  MDC.put("userId", "user3");
  logger.debug("hello user3");

  assertEquals(2, listAppender.list.size());
  ILoggingEvent le = (ILoggingEvent) listAppender.list.get(0);
  assertEquals("hello user1", le.getMessage());
  le = (ILoggingEvent) listAppender.list.get(1);
  assertEquals("hello user2", le.getMessage());
}
项目:bartleby    文件:ConditionalTest.java   
@SuppressWarnings("rawtypes")
 @Test
 public void conditionalConsoleApp_IF_THEN_ELSE() throws JoranException,
         IOException, InterruptedException {

   String configFileAsStr = ClassicTestConstants.JORAN_INPUT_PREFIX
           + "conditional/conditionalConsoleApp_ELSE.xml";
   configure(configFileAsStr);

FileAppender fileAppender = (FileAppender) root.getAppender("FILE");
   assertNotNull(fileAppender);

   ConsoleAppender consoleAppender = (ConsoleAppender) root.getAppender("CON");
   assertNull(consoleAppender);

   ListAppender listAppender = (ListAppender) root.getAppender("LIST");
   assertNotNull(listAppender);

   // StatusPrinter.printIfErrorsOccured(context);
   StatusChecker checker = new StatusChecker(context);
   checker.assertIsErrorFree();
 }
项目:bartleby    文件:SiftingAppenderTest.java   
@Test
public void testWholeCycle() throws JoranException {
  String mdcKey = "cycle";
  configure(SIFT_FOLDER_PREFIX + "completeCycle.xml");
  MDC.put(mdcKey, "a");
  logger.debug("smoke");
  long timestamp = System.currentTimeMillis();
  SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
  ListAppender<ILoggingEvent> listAppender = (ListAppender<ILoggingEvent>)
          sa.getAppenderTracker().find("a");
  assertNotNull(listAppender);
  List<ILoggingEvent> eventList = listAppender.list;
  assertEquals(1, listAppender.list.size());
  assertEquals("smoke", eventList.get(0).getMessage());

  MDC.remove(mdcKey);
  LoggingEvent le = new LoggingEvent("x", logger, Level.INFO, "hello", null,
          null);
  le.setTimeStamp(timestamp + ComponentTracker.DEFAULT_TIMEOUT + 1);
  sa.doAppend(le);
  assertFalse(listAppender.isStarted());
  assertEquals(1, sa.getAppenderTracker().allKeys().size());
  assertTrue(sa.getAppenderTracker().allKeys().contains("cycleDefault"));
}
项目:spring-cloud-aws    文件:QueueMessageHandlerTest.java   
@Test
public void getMappingForMethod_methodWithDeletionPolicyNeverWithoutParameterTypeAcknowledgment_warningMustBeLogged() throws Exception {
    // Arrange
    QueueMessageHandler queueMessageHandler = new QueueMessageHandler();
    Method receiveMethod = SqsListenerDeletionPolicyNeverNoAcknowledgment.class.getMethod("receive", String.class);

    LoggerContext logContext = (LoggerContext) LoggerFactory.getILoggerFactory();
    ListAppender<ILoggingEvent> appender = new ListAppender<>();
    appender.start();

    Logger log = logContext.getLogger(QueueMessageHandler.class);
    log.setLevel(Level.WARN);
    log.addAppender(appender);
    appender.setContext(log.getLoggerContext());

    // Act
    queueMessageHandler.getMappingForMethod(receiveMethod, null);

    // Assert
    ILoggingEvent loggingEvent = appender.list.get(0);

    assertSame(Level.WARN, loggingEvent.getLevel());
    assertTrue(loggingEvent.getMessage().contains("receive"));
    assertTrue(loggingEvent.getMessage().contains("org.springframework.cloud.aws.messaging.listener.QueueMessageHandlerTest$SqsListenerDeletionPolicyNeverNoAcknowledgment"));
}
项目:json-log-domain    文件:AbstractMatcher.java   
@SuppressWarnings("unchecked")
public boolean matches(Object actual) {
    if (actual instanceof LogbackJUnitRule) {
        LogbackJUnitRule rule = (LogbackJUnitRule) actual;
        if (matches(rule.capture())) {
            return true;
        }
    }

    if (actual instanceof ListAppender) {
        ListAppender<ILoggingEvent> appender = (ListAppender<ILoggingEvent>) actual;

        if (matches(appender.list)) {
            return true;
        }
    }

    if (actual instanceof List) {
        return matches((List<ILoggingEvent>) actual);
    }

    if (actual instanceof ILoggingEvent) {
        return matches((ILoggingEvent) actual);
    }

    return false;
}
项目:json-log-domain    文件:GenericMarkerMatcher.java   
@SuppressWarnings("unchecked")
public boolean matches(Object actual) {
    if(!initalized) {
        init();
        initalized = true;
    }
    if (actual instanceof LogbackJUnitRule) {
        LogbackJUnitRule rule = (LogbackJUnitRule) actual;
        if (matches(rule.capture())) {
            return true;
        }
    }

    if (actual instanceof ListAppender) {
        ListAppender<ILoggingEvent> appender = (ListAppender<ILoggingEvent>) actual;

        if (matches(appender.list)) {
            return true;
        }
    }

    if (actual instanceof List) {
        return matches((List<ILoggingEvent>) actual);
    }

    if (actual instanceof ILoggingEvent) {
        return matches((ILoggingEvent) actual);
    }

    return false;
}
项目:json-log-domain    文件:MessageMatcher.java   
@SuppressWarnings("unchecked")
public boolean matches(Object actual) {
    if(actual instanceof LogbackJUnitRule) {
        LogbackJUnitRule rule = (LogbackJUnitRule)actual;
        if(matches(rule.capture())) {
            return true;
        }
    }

    if(actual instanceof ListAppender) {
        ListAppender<ILoggingEvent> appender = (ListAppender<ILoggingEvent>)actual;

        if(matches(appender.list)) {
            return true;
        }
    }

    if(actual instanceof List) {
        return matches((List<ILoggingEvent>)actual);
    }

    if(actual instanceof ILoggingEvent) {
        return matches((ILoggingEvent)actual);
    }

    return false;
   }
项目:json-log-domain    文件:MdcMatcher.java   
@SuppressWarnings("unchecked")
public boolean matches(Object actual) {
    if(actual instanceof LogbackJUnitRule) {
        LogbackJUnitRule rule = (LogbackJUnitRule)actual;
        if(matches(rule.capture())) {
            return true;
        }
    }

    if(actual instanceof ListAppender) {
        ListAppender<ILoggingEvent> appender = (ListAppender<ILoggingEvent>)actual;

        if(matches(appender.list)) {
            return true;
        }
    }

    if(actual instanceof List) {
        return matches((List<ILoggingEvent>)actual);
    }

    if(actual instanceof ILoggingEvent) {
        return matches((ILoggingEvent)actual);
    }

    return false;
   }
项目:nifi-file-identity-provider-bundle    文件:TestFileIdentityProvider.java   
@Test
public void testConfigurationMissingFileLogsWarning() throws Exception {
    final Map<String, String> configProperties = new HashMap<String, String>();
    configProperties.put(FileIdentityProvider.PROPERTY_EXPIRATION_PERIOD, FIVE_MINUTES);
    final String missingFilePath = "no/such/file";
    configProperties.put(FileIdentityProvider.PROPERTY_CREDENTIALS_FILE, missingFilePath);
    final LoginIdentityProviderConfigurationContext configContext =
            new MockLoginIdentityProviderConfigurationContext(IDENTIFIER, configProperties);
    Logger fileIdentityProviderLogger = (Logger) LoggerFactory.getLogger(FileIdentityProvider.class);
    ListAppender<ILoggingEvent> testAppender = new ListAppender<>();
    testAppender.setName("Test");
    testAppender.start();
    fileIdentityProviderLogger.addAppender(testAppender);
    final FileIdentityProvider provider = new FileIdentityProvider();

    provider.onConfigured(configContext);

    boolean fileMessageFound = false;
    for (ILoggingEvent event : testAppender.list) {
        String message = event.getFormattedMessage();
        if (message.contains(missingFilePath) && event.getLevel() == Level.WARN) {
            fileMessageFound = true;
            break;
        }
    }
    Assert.assertTrue(fileMessageFound);
}
项目:logback-slack-appender    文件:LogbackCaptureRule.java   
@Before
public void setUp() {
    ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
    setListAppender(new ListAppender<>());
    setFilter(new ThresholdFilter());
    setLogThreshold(Level.WARN);
    getFilter().start();
    getListAppender().addFilter(getFilter());
    getListAppender().start();
    root.addAppender(getListAppender());
}
项目:bartleby    文件:AsyncAppenderBaseTest.java   
@Test
public void stopExitsWhenMaxRuntimeReached() throws InterruptedException {
  int maxRuntime = 1;  //runtime of 0 means wait forever, so use 1 ms instead
  int loopLen = 10;
  ListAppender la = delayingListAppender;
  asyncAppenderBase.addAppender(la);
  asyncAppenderBase.setMaxFlushTime(maxRuntime);
  asyncAppenderBase.start();

  for (int i = 0; i < loopLen; i++) {
      asyncAppenderBase.doAppend(i);
    }

  asyncAppenderBase.stop();

  //suspend the thread so that we can make the following assertions without race conditions
  asyncAppenderBase.worker.suspend();

  //confirms that stop exited when runtime reached
  statusChecker.assertContainsMatch("Max queue flush timeout \\(" + maxRuntime + " ms\\) exceeded.");

  //confirms that the number of events posted are the number of events removed from the queue
  assertEquals(la.list.size(), loopLen - asyncAppenderBase.getNumberOfElementsInQueue());

  //resume the thread to let it finish processing
  asyncAppenderBase.worker.resume();

  asyncAppenderBase.worker.join();

  //confirms that all entries do end up being flushed if we wait long enough
  verify(la, loopLen);
}
项目:bartleby    文件:AppenderTrackerTest.java   
public Appender<Object> buildAppender(Context context, String discriminatingValue) throws JoranException {
  ListAppender<Object> la = new ListAppender<Object>();
  la.setContext(context);
  la.setName(discriminatingValue);
  la.start();
  return la;
}
项目:bartleby    文件:LoggerMessageFormattingTest.java   
@Before
public void setUp() {
  lc = new LoggerContext();
  Logger logger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
  listAppender = new ListAppender<ILoggingEvent>();
  listAppender.setContext(lc);
  listAppender.start();
  logger.addAppender(listAppender);
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void simpleList() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX + "simpleList.xml");

  Logger logger = loggerContext.getLogger(this.getClass().getName());
  Logger root = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());
  String msg = "hello world";
  logger.debug(msg);
  assertEquals(1, listAppender.list.size());
  ILoggingEvent le = (ILoggingEvent) listAppender.list.get(0);
  assertEquals(msg, le.getMessage());
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void level() throws JoranException {
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX + "simpleLevel.xml");
  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());
  String msg = "hello world";
  logger.debug(msg);
  assertEquals(0, listAppender.list.size());
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void rootLoggerLevelSettingBySystemProperty() throws JoranException {
  String propertyName = "logback.level";

  System.setProperty(propertyName, "INFO");
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX
          + "rootLevelByProperty.xml");
  // StatusPrinter.print(loggerContext);
  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());
  String msg = "hello world";
  logger.debug(msg);
  assertEquals(0, listAppender.list.size());
  System.clearProperty(propertyName);
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void loggerLevelSettingBySystemProperty() throws JoranException {
  String propertyName = "logback.level";
  System.setProperty(propertyName, "DEBUG");
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX
          + "loggerLevelByProperty.xml");
  // StatusPrinter.print(loggerContext);
  ListAppender listAppender = (ListAppender) root.getAppender("LIST");
  assertEquals(0, listAppender.list.size());
  String msg = "hello world";
  logger.debug(msg);
  assertEquals(1, listAppender.list.size());
  System.clearProperty(propertyName);
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void appenderRefSettingBySystemProperty() throws JoranException {
  final String propertyName = "logback.appenderRef";
  System.setProperty(propertyName, "A");
  configure(ClassicTestConstants.JORAN_INPUT_PREFIX
          + "appenderRefByProperty.xml");
  final Logger logger = loggerContext
          .getLogger("ch.qos.logback.classic.joran");
  final ListAppender listAppender = (ListAppender) logger.getAppender("A");
  assertEquals(0, listAppender.list.size());
  final String msg = "hello world";
  logger.info(msg);
  assertEquals(1, listAppender.list.size());
  System.clearProperty(propertyName);
}
项目:bartleby    文件:InitializationIntegrationTest.java   
@Test
public void smoke() {
  Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
  Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
  ListAppender la = (ListAppender) root.getAppender("LIST");
  assertNotNull(la);
}
项目:bartleby    文件:SiftingAppenderTest.java   
@Test
public void smoke() throws JoranException {
  configure(SIFT_FOLDER_PREFIX + "smoke.xml");
  logger.debug("smoke");
  Appender<ILoggingEvent> appender = getAppenderTracker().find("smokeDefault");
  assertNotNull(appender);
  ListAppender<ILoggingEvent> listAppender = (ListAppender<ILoggingEvent>) appender;
  List<ILoggingEvent> eventList = listAppender.list;
  assertEquals(1, listAppender.list.size());
  assertEquals("smoke", eventList.get(0).getMessage());
}
项目:bartleby    文件:LoggerTest.java   
@Test
public void smoke() {
  ListAppender<ILoggingEvent> listAppender = new ListAppender<ILoggingEvent>();
  listAppender.start();
  root.addAppender(listAppender);
  Logger logger = lc.getLogger(LoggerTest.class);
  assertEquals(0, listAppender.list.size());
  logger.debug("hello");
  assertEquals(1, listAppender.list.size());
}
项目:bartleby    文件:ConditionalTest.java   
@Test
public void conditionalConsoleApp_ELSE() throws JoranException,
        IOException, InterruptedException {
  configure(TeztConstants.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));
}
项目:bartleby    文件:JoranConfiguratorTest.java   
@Test
public void smoke() throws Exception {
  configure(TeztConstants.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);
}
项目:armeria    文件:RequestContextExportingAppenderTest.java   
@Test
public void testMutabilityAndImmutability() {
    final AttributeKey<Object> someAttr =
            AttributeKey.valueOf(RequestContextExportingAppenderTest.class, "SOME_ATTR");
    final RequestContextExportingAppender a = new RequestContextExportingAppender();

    // Ensure mutability before start.
    a.addBuiltIn(BuiltInProperty.ELAPSED_NANOS);
    assertThat(a.getBuiltIns()).containsExactly(BuiltInProperty.ELAPSED_NANOS);

    a.addAttribute("some-attr", someAttr);
    assertThat(a.getAttributes()).containsOnlyKeys("some-attr")
                                 .containsValue(someAttr);

    a.addHttpRequestHeader(HttpHeaderNames.USER_AGENT);
    assertThat(a.getHttpRequestHeaders()).containsExactly(HttpHeaderNames.USER_AGENT);

    a.addHttpResponseHeader(HttpHeaderNames.SET_COOKIE);
    assertThat(a.getHttpResponseHeaders()).containsExactly(HttpHeaderNames.SET_COOKIE);

    final ListAppender<ILoggingEvent> la = new ListAppender<>();
    a.addAppender(la);
    a.start();
    la.start();

    // Ensure immutability after start.
    assertThatThrownBy(() -> a.addBuiltIn(BuiltInProperty.REQ_PATH))
            .isExactlyInstanceOf(IllegalStateException.class);

    assertThatThrownBy(() -> a.addAttribute("my-attr", MY_ATTR))
            .isExactlyInstanceOf(IllegalStateException.class);

    assertThatThrownBy(() -> a.addHttpRequestHeader(HttpHeaderNames.ACCEPT))
            .isExactlyInstanceOf(IllegalStateException.class);

    assertThatThrownBy(() -> a.addHttpResponseHeader(HttpHeaderNames.DATE))
            .isExactlyInstanceOf(IllegalStateException.class);
}
项目:armeria    文件:RequestContextExportingAppenderTest.java   
@SafeVarargs
private final List<ILoggingEvent> prepare(Consumer<RequestContextExportingAppender>... configurators) {
    final RequestContextExportingAppender a = new RequestContextExportingAppender();
    for (Consumer<RequestContextExportingAppender> c : configurators) {
        c.accept(a);
    }

    final ListAppender<ILoggingEvent> la = new ListAppender<>();
    a.addAppender(la);
    a.start();
    la.start();
    testLogger.addAppender(a);
    return la.list;
}
项目:pom-manipulation-ext    文件:WildcardMapTest.java   
@Before
public void setUp() throws Exception
{
    m_listAppender = new ListAppender<>();
    m_listAppender.start();

    Logger root = (Logger) LoggerFactory.getLogger(WildcardMap.class);
    root.addAppender(m_listAppender);

    map = new WildcardMap<>();
}
项目:stagemonitor    文件:ElasticsearchClientTest.java   
@Before
public void setUp() throws Exception {
    Logger bulkLogger = (Logger) LoggerFactory.getLogger(ElasticsearchClient.BulkErrorReportingResponseHandler.class);
    testAppender = new ListAppender<ILoggingEvent>();
    testAppender.start();
    bulkLogger.addAppender(testAppender);
}
项目:json-log-domain    文件:LogbackJUnitRule.java   
public Entry(Logger logger, ListAppender<ILoggingEvent> appender) {
    this.logger = logger;
    this.appender = appender;
}
项目:bartleby    文件:AsyncAppenderBaseTest.java   
private void verify(ListAppender la, int expectedSize) {
  assertFalse(la.isStarted());
  assertEquals(expectedSize, la.list.size());
  statusChecker.assertIsErrorFree();
  statusChecker.assertContainsMatch("Worker thread will flush remaining events before exiting.");
}
项目:bartleby    文件:SiftingAppenderTest.java   
private void check(SiftingAppender siftingAppender, String key, int expectedCount) {
  ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) siftingAppender
    .getAppenderTracker().find(key);
  assertEquals(expectedCount, listAppender.list.size());
}
项目:json-log-domain    文件:LogbackJUnitRule.java   
public LogbackJUnitRule add(String name) {
    ListAppender<ILoggingEvent> appender = new com.github.skjolber.log.domain.test.ListAppender();
    appender.setName(name);

    Logger logger = (Logger) LoggerFactory.getLogger(name);

    logger.addAppender(appender);

    entries.add(new Entry(logger, appender));

    appender.start();

    return this;
}