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;
}