/** * Writes status messages to the console. * @param data The StatusData. */ @Override public void log(final StatusData data) { if (!filtered(data)) { stream.println(data.getFormattedStatus()); } }
StatusData mostRecentStatusData = statusDataList.get(statusDataList.size() - 1); assertEquals("Expected warn level status message", Level.WARN, mostRecentStatusData.getLevel()); assertThat(mostRecentStatusData.getFormattedStatus(), containsString( "Log4j2 logged an event out of order to prevent deadlock caused by domain " + "objects logging from their toString method when the async queue is full"));
@Test public void testMessageThrows() { final ThrowableExpectingLogger logger = new ThrowableExpectingLogger(false); logger.error(new TestMessage(new TestMessage.FormattedMessageSupplier() { @Override public String getFormattedMessage() { throw new IllegalStateException("Oops!"); } }, "Message Format")); List<StatusData> statusDatalist = StatusLogger.getLogger().getStatusData(); StatusData mostRecent = statusDatalist.get(statusDatalist.size() - 1); assertEquals(Level.WARN, mostRecent.getLevel()); assertThat(mostRecent.getFormattedStatus(), containsString( "org.apache.logging.log4j.spi.AbstractLogger caught " + "java.lang.IllegalStateException logging TestMessage: Message Format")); }
@Test public void testMessageThrowsAndNullFormat() { final ThrowableExpectingLogger logger = new ThrowableExpectingLogger(false); logger.error(new TestMessage(new TestMessage.FormattedMessageSupplier() { @Override public String getFormattedMessage() { throw new IllegalStateException("Oops!"); } }, null /* format */)); List<StatusData> statusDatalist = StatusLogger.getLogger().getStatusData(); StatusData mostRecent = statusDatalist.get(statusDatalist.size() - 1); assertEquals(Level.WARN, mostRecent.getLevel()); assertThat(mostRecent.getFormattedStatus(), containsString( "org.apache.logging.log4j.spi.AbstractLogger caught " + "java.lang.IllegalStateException logging TestMessage: ")); }
/** * Writes status messages to the console. * @param data The StatusData. */ @Override public void log(final StatusData data) { if (!filtered(data)) { stream.println(data.getFormattedStatus()); } }
@Override public String[] getStatusDataHistory() { final List<StatusData> data = getStatusData(); final String[] result = new String[data.size()]; for (int i = 0; i < result.length; i++) { result[i] = data.get(i).getFormattedStatus(); } return result; }
@Override public void log(final StatusData data) { final Notification notifMsg = new Notification(NOTIF_TYPE_MESSAGE, getObjectName(), nextSeqNo(), nowMillis(), data.getFormattedStatus()); sendNotification(notifMsg); final Notification notifData = new Notification(NOTIF_TYPE_DATA, getObjectName(), nextSeqNo(), nowMillis()); notifData.setUserData(data); sendNotification(notifData); }