[ 
https://issues.apache.org/jira/browse/LOG4J2-180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Gregory updated LOG4J2-180:
--------------------------------

    Description: 
- Using style or highlight patterns over a Throwable pattern makes this code 
useless if the exception is the only content (i.e. "%highlight{%ex}")
{code:java}
org.apache.logging.log4j.core.pattern.ThrowablePatternConverter:format(final 
LogEvent event, final StringBuilder toAppendTo) {
...
            final int len = toAppendTo.length();
            if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) 
{
                toAppendTo.append(" "); // Add a space before printing stack 
trace
            }
...
}
{code}
(With style or highlight patterns, the format is called with a new -empty- 
StringBuilder)

Example:
{noformat}
17:26:54.395 ERROR # Server.doOperation catchingjava.lang.NullPointerException
{noformat}
(Syntax affected, no space between the message 'catching' and the exception 
'java.lang.NullPointerException')



- Using style or highlight patterns over a Throwable pattern makes it to be 
duplicated (the pattern is interpreted as if there was nothing dealing with 
throwables)

Examples:

{noformat}
Simple pattern: "%m %ex{short}"
Output: catching java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27)
{noformat}

{noformat}
Pattern with highlight: "%m %highlight{%ex{short}}"
Output: catching java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27)
 java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27) [bin/:?]
        at net.wm.core.AbstractOperation.run(AbstractOperation.java:99) [bin/:?]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_07]
{noformat}

  was:
- Using style or highlight patterns over a Throwable pattern makes this code 
useless if the exception is the only content (i.e. "%highlight{%ex}")

org.apache.logging.log4j.core.pattern.ThrowablePatternConverter:format(final 
LogEvent event, final StringBuilder toAppendTo) {
...
            final int len = toAppendTo.length();
            if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) 
{
                toAppendTo.append(" "); // Add a space before printing stack 
trace
            }
...
}
(With style or highlight patterns, the format is called with a new -empty- 
StringBuilder)

Example:
17:26:54.395 ERROR # Server.doOperation catchingjava.lang.NullPointerException
(Syntax affected, no space between the message 'catching' and the exception 
'java.lang.NullPointerException')



- Using style or highlight patterns over a Throwable pattern makes it to be 
duplicated (the pattern is interpreted as if there was nothing dealing with 
throwables)

Examples:

Simple pattern: "%m %ex{short}"
Output: catching java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27)

Pattern with highlight: "%m %highlight{%ex{short}}"
Output: catching java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27)
 java.lang.NullPointerException
        at net.wm.core.prototype.Server.doOperation(Server.java:27) [bin/:?]
        at net.wm.core.AbstractOperation.run(AbstractOperation.java:99) [bin/:?]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_07]

    
> style & highlight patterns altering content behaviour
> -----------------------------------------------------
>
>                 Key: LOG4J2-180
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-180
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Layouts
>    Affects Versions: 2.0-beta4
>            Reporter: Seyguai
>            Priority: Minor
>
> - Using style or highlight patterns over a Throwable pattern makes this code 
> useless if the exception is the only content (i.e. "%highlight{%ex}")
> {code:java}
> org.apache.logging.log4j.core.pattern.ThrowablePatternConverter:format(final 
> LogEvent event, final StringBuilder toAppendTo) {
> ...
>             final int len = toAppendTo.length();
>             if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 
> 1))) {
>                 toAppendTo.append(" "); // Add a space before printing stack 
> trace
>             }
> ...
> }
> {code}
> (With style or highlight patterns, the format is called with a new -empty- 
> StringBuilder)
> Example:
> {noformat}
> 17:26:54.395 ERROR # Server.doOperation catchingjava.lang.NullPointerException
> {noformat}
> (Syntax affected, no space between the message 'catching' and the exception 
> 'java.lang.NullPointerException')
> - Using style or highlight patterns over a Throwable pattern makes it to be 
> duplicated (the pattern is interpreted as if there was nothing dealing with 
> throwables)
> Examples:
> {noformat}
> Simple pattern: "%m %ex{short}"
> Output: catching java.lang.NullPointerException
>         at net.wm.core.prototype.Server.doOperation(Server.java:27)
> {noformat}
> {noformat}
> Pattern with highlight: "%m %highlight{%ex{short}}"
> Output: catching java.lang.NullPointerException
>         at net.wm.core.prototype.Server.doOperation(Server.java:27)
>  java.lang.NullPointerException
>         at net.wm.core.prototype.Server.doOperation(Server.java:27) [bin/:?]
>         at net.wm.core.AbstractOperation.run(AbstractOperation.java:99) 
> [bin/:?]
>         at java.lang.Thread.run(Unknown Source) [?:1.7.0_07]
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to