Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.13.1
-
None
-
None
Description
Simplified example:
%replace{%ex{full}}
{password}{******}
In this example, PatternParser.parse() only considers the %replace{} converter and does not find the %ex inside. In this case, if the PatternLayout doesn't declare alwaysWriteExceptions="false", it will append an ThrowablePatternConverter anyway, leading to the exception being logged a second time without replace converter processing. It would probably be better if the RegexReplacementConverter (and other converters that support nested patterns) also implements the handlesThrowable() method in a way that delegates this handling to the nested patterns.