You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2013/08/23 19:02:52 UTC
[jira] [Updated] (LOG4J2-180) style & highlight patterns altering
content behaviour
[ 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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org