You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2015/07/12 16:11:41 UTC

[3/3] logging-log4j2 git commit: improve error reporting: print the full offending pattern if it cannot be parsed

improve error reporting: print the full offending pattern if it cannot
be parsed

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a2fd2ef8
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a2fd2ef8
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a2fd2ef8

Branch: refs/heads/master
Commit: a2fd2ef8aaf0d43a82c9b8237c231a1237c2026d
Parents: c785f89
Author: rpopma <rp...@apache.org>
Authored: Sun Jul 12 23:11:54 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Jul 12 23:11:54 2015 +0900

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/layout/PatternLayout.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a2fd2ef8/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
index f5496ef..d09382e 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
@@ -126,7 +126,12 @@ public final class PatternLayout extends AbstractStringLayout {
         this.alwaysWriteExceptions = alwaysWriteExceptions;
         this.noConsoleNoAnsi = noConsoleNoAnsi;
         final PatternParser parser = createPatternParser(config);
-        this.formatters = parser.parse(pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern, this.alwaysWriteExceptions, this.noConsoleNoAnsi);
+        try {
+            this.formatters = parser.parse(pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern, 
+                    this.alwaysWriteExceptions, this.noConsoleNoAnsi);
+        } catch (RuntimeException ex) {
+            throw new IllegalArgumentException("Cannot parse pattern '" + pattern + "'", ex);
+        }
     }
 
     private static byte[] toBytes(final String str, final Charset charset) {