@Test public void testPurge() throws Exception { setupAppender(2, 1, 1); logMessages(Level.ERROR, "test message 1", 1); cutoff.clear(); cutoff.add(0L); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(1, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); Thread.sleep(3000); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(0, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(0, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); setupAppender(2, 1000, 2); logMessages(Level.ERROR, "test message 1", 3); logMessages(Level.ERROR, "test message 2", 2); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(5, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); logMessages(Level.ERROR, "test message 3", 3); Thread.sleep(2000); Assert.assertEquals(8, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); }
@Test public void testInfoDebugTrace() { cutoff.clear(); setupAppender(100, 100, 100); cutoff.add(0L); logMessages(Level.INFO, "test message 1", 2); logMessages(Level.DEBUG, "test message 2", 2); logMessages(Level.TRACE, "test message 3", 2); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningCounts(cutoff).size()); Assert.assertEquals(0, appender.getErrorCounts(cutoff).get(0).longValue()); Assert .assertEquals(0, appender.getWarningCounts(cutoff).get(0).longValue()); Assert.assertEquals(0, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); Assert.assertEquals(0, appender.getWarningMessagesAndCounts(cutoff).get(0) .size()); }
logMessages(Level.WARN, "test message 1", 2); logMessages(Level.WARN, "test message 2", 3); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Map<String, Log4jWarningErrorMetricsAppender.Element> errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); Map<String, Log4jWarningErrorMetricsAppender.Element> warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); cutoff.add(Time.now() / 1000); logMessages(Level.WARN, "test message 3", 2); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(2, appender.getWarningMessagesAndCounts(cutoff).size()); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); Assert.assertEquals(0, errorsMap.size()); Assert.assertEquals(3, warningsMap.size()); Assert.assertTrue(warningsMap.containsKey("test message 3")); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(1); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(1); Assert.assertEquals(0, errorsMap.size());
@Test public void testPurge() throws Exception { setupAppender(2, 1, 1); logMessages(Level.ERROR, "test message 1", 1); cutoff.clear(); cutoff.add(0L); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(1, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); Thread.sleep(3000); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(0, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(0, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); setupAppender(2, 1000, 2); logMessages(Level.ERROR, "test message 1", 3); logMessages(Level.ERROR, "test message 2", 2); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(5, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); logMessages(Level.ERROR, "test message 3", 3); Thread.sleep(2000); Assert.assertEquals(8, appender.getErrorCounts(cutoff).get(0).longValue()); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); }
@Test public void testInfoDebugTrace() { cutoff.clear(); setupAppender(100, 100, 100); cutoff.add(0L); logMessages(Level.INFO, "test message 1", 2); logMessages(Level.DEBUG, "test message 2", 2); logMessages(Level.TRACE, "test message 3", 2); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getErrorCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningCounts(cutoff).size()); Assert.assertEquals(0, appender.getErrorCounts(cutoff).get(0).longValue()); Assert .assertEquals(0, appender.getWarningCounts(cutoff).get(0).longValue()); Assert.assertEquals(0, appender.getErrorMessagesAndCounts(cutoff).get(0) .size()); Assert.assertEquals(0, appender.getWarningMessagesAndCounts(cutoff).get(0) .size()); }
logMessages(Level.WARN, "test message 1", 2); logMessages(Level.WARN, "test message 2", 3); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Map<String, Log4jWarningErrorMetricsAppender.Element> errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); Map<String, Log4jWarningErrorMetricsAppender.Element> warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); cutoff.add(Time.now() / 1000); logMessages(Level.WARN, "test message 3", 2); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(2, appender.getWarningMessagesAndCounts(cutoff).size()); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); Assert.assertEquals(0, errorsMap.size()); Assert.assertEquals(3, warningsMap.size()); Assert.assertTrue(warningsMap.containsKey("test message 3")); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(1); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(1); Assert.assertEquals(0, errorsMap.size());
logMessages(Level.ERROR, "test message 1", 2); logMessages(Level.ERROR, "test message 2", 3); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Map<String, Log4jWarningErrorMetricsAppender.Element> errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); Map<String, Log4jWarningErrorMetricsAppender.Element> warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); cutoff.add(Time.now() / 1000); logMessages(Level.ERROR, "test message 3", 2); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(2, appender.getWarningMessagesAndCounts(cutoff).size()); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); Assert.assertEquals(3, errorsMap.size()); Assert.assertEquals(0, warningsMap.size()); Assert.assertTrue(errorsMap.containsKey("test message 3")); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(1); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(1); Assert.assertEquals(1, errorsMap.size());
logMessages(Level.ERROR, "test message 1", 2); logMessages(Level.ERROR, "test message 2", 3); Assert.assertEquals(1, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(1, appender.getWarningMessagesAndCounts(cutoff).size()); Map<String, Log4jWarningErrorMetricsAppender.Element> errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); Map<String, Log4jWarningErrorMetricsAppender.Element> warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); cutoff.add(Time.now() / 1000); logMessages(Level.ERROR, "test message 3", 2); Assert.assertEquals(2, appender.getErrorMessagesAndCounts(cutoff).size()); Assert.assertEquals(2, appender.getWarningMessagesAndCounts(cutoff).size()); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(0); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(0); Assert.assertEquals(3, errorsMap.size()); Assert.assertEquals(0, warningsMap.size()); Assert.assertTrue(errorsMap.containsKey("test message 3")); errorsMap = appender.getErrorMessagesAndCounts(cutoff).get(1); warningsMap = appender.getWarningMessagesAndCounts(cutoff).get(1); Assert.assertEquals(1, errorsMap.size());
appender.getErrorMessagesAndCounts(cutoff); List<Map<String, Log4jWarningErrorMetricsAppender.Element>> warningsData = appender.getWarningMessagesAndCounts(cutoff);