You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2018/12/23 06:59:17 UTC

[logging-log4j2] 02/02: LOG4J2-1906 - Add diagnostics

This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 3acea6c6d566d8f54da45651dbf37c1ea3967ef3
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Sat Dec 22 23:41:09 2018 -0700

    LOG4J2-1906 - Add diagnostics
---
 .../RollingAppenderDirectWrite1906Test.java        | 43 +++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWrite1906Test.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWrite1906Test.java
index c2b7c59..a055fc2 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWrite1906Test.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWrite1906Test.java
@@ -19,10 +19,17 @@ package org.apache.logging.log4j.core.appender.rolling;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
+import java.io.IOException;
+import java.util.List;
 
+import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.status.StatusData;
+import org.apache.logging.log4j.status.StatusListener;
+import org.apache.logging.log4j.status.StatusLogger;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.RuleChain;
@@ -50,6 +57,11 @@ public class RollingAppenderDirectWrite1906Test {
     @Rule
     public RuleChain chain = loggerContextRule.withCleanFoldersRule(DIR);
 
+    @BeforeClass
+    public static void setupClass() throws Exception {
+        StatusLogger.getLogger().registerListener(new NoopStatusListener());
+    }
+
     private Logger logger;
 
     @Before
@@ -80,7 +92,7 @@ public class RollingAppenderDirectWrite1906Test {
                 String[] parts = line.split((" "));
                 String expected = "rollingfile." + parts[0] + ".log";
 
-                assertEquals("Incorrect file name. Expected: " + expected + " Actual: " + actual, expected, actual);
+                assertEquals(logFileNameError(expected, actual), expected, actual);
                 ++found;
             }
             reader.close();
@@ -88,4 +100,33 @@ public class RollingAppenderDirectWrite1906Test {
         assertEquals("Incorrect number of events read. Expected " + count + ", Actual " + found, count, found);
 
     }
+
+
+    private String logFileNameError(String expected, String actual) {
+        final List<StatusData> statusData = StatusLogger.getLogger().getStatusData();
+        final StringBuilder sb = new StringBuilder();
+        for (StatusData statusItem : statusData) {
+            sb.append(statusItem.getFormattedStatus());
+            sb.append("\n");
+        }
+        sb.append("Incorrect file name. Expected: ").append(expected).append(" Actual: ").append(actual);
+        return sb.toString();
+    }
+
+    private static class NoopStatusListener implements StatusListener {
+        @Override
+        public void log(StatusData data) {
+
+        }
+
+        @Override
+        public Level getStatusLevel() {
+            return Level.TRACE;
+        }
+
+        @Override
+        public void close() throws IOException {
+
+        }
+    }
 }