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 "Mauro Molinari (JIRA)" <ji...@apache.org> on 2015/06/29 09:28:04 UTC

[jira] [Comment Edited] (LOG4J2-684) ConsoleAppender does not print suppressed exceptions

    [ https://issues.apache.org/jira/browse/LOG4J2-684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605232#comment-14605232 ] 

Mauro Molinari edited comment on LOG4J2-684 at 6/29/15 7:27 AM:
----------------------------------------------------------------

Hi Gary,
I just tried the 2.4-SNAPSHOT version. To test it I've changed the {{build.gradle}} file in this way:

{noformat}
apply plugin: 'application'

sourceCompatibility = 1.7

repositories {
    mavenCentral()
    maven { url 'http://repository.apache.org/snapshots/' }
}

dependencies {
	compile 'org.slf4j:slf4j-api:1.7.7'
	runtime 'org.apache.logging.log4j:log4j-slf4j-impl:2.4-SNAPSHOT'
	runtime 'org.apache.logging.log4j:log4j-web:2.4-SNAPSHOT'
}

mainClassName = 'test.Test' 

task wrapper(type: Wrapper) {
	gradleVersion = '2.4'
}
{noformat}

The output is this:

{noformat}
[ERROR] 2015/06/29 09:17:22 - main - test.Test - error
java.lang.RuntimeException: outer
	at test.Test.foo(Test.java:24) ~[bin/:?]
	at test.Test.main(Test.java:14) [bin/:?]
printStackTrace follows
java.lang.RuntimeException: outer
	at test.Test.foo(Test.java:24)
	at test.Test.main(Test.java:14)
	Suppressed: java.lang.RuntimeException: suppressed
		at test.Test.foo(Test.java:25)
		... 1 more
{noformat}

Unless I'm doing something wrong regarding the appender configuration, I still can't see the suppressed exception when logging.
Can you reproduce?

Regarding your trial, I see that SLF4j is saying there are both logback and log4j binding on the classpath, and from the output you pasted (" Actual binding is of type \[ch.qos.logback.classic.util.ContextSelectorStaticBinder\]") I would say it's using Logback rather than Log4j2... This might explain why you see a correct output.



was (Author: mauromol):
Hi Gary,
I just tried the 2.4-SNAPSHOT version. To test it I've changed the {{build.gradle}} file in this way:

{noformat}
apply plugin: 'application'

sourceCompatibility = 1.7

repositories {
    mavenCentral()
    maven { url 'http://repository.apache.org/snapshots/' }
}

dependencies {
	compile 'org.slf4j:slf4j-api:1.7.7'
	runtime 'org.apache.logging.log4j:log4j-slf4j-impl:2.4-SNAPSHOT'
	runtime 'org.apache.logging.log4j:log4j-web:2.4-SNAPSHOT'
}

mainClassName = 'test.Test' 

task wrapper(type: Wrapper) {
	gradleVersion = '2.4'
}
{noformat}

The output is this:

{noformat}
[ERROR] 2015/06/29 09:17:22 - main - test.Test - error
java.lang.RuntimeException: outer
	at test.Test.foo(Test.java:24) ~[bin/:?]
	at test.Test.main(Test.java:14) [bin/:?]
printStackTrace follows
java.lang.RuntimeException: outer
	at test.Test.foo(Test.java:24)
	at test.Test.main(Test.java:14)
	Suppressed: java.lang.RuntimeException: suppressed
		at test.Test.foo(Test.java:25)
		... 1 more
{noformat}

Unless I'm doing something wrong regarding the appender configuration, I still can't see the suppressed exception when logging.
Can you reproduce?

Regarding your trial, I see that SLF4j is saying there are both logback and log4j binding on the classpath, and from the output you pasted (" Actual binding is of type \[ch.qos.logback.classic.util.ContextSelectorStaticBinder\]") I would say it's using Logback rather than Log4j2... This would explain why you see a correct output.


> ConsoleAppender does not print suppressed exceptions
> ----------------------------------------------------
>
>                 Key: LOG4J2-684
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-684
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-rc1
>         Environment: ------------------------------------------------------------
> Gradle 1.12
> ------------------------------------------------------------
> Build time:   2014-04-29 09:24:31 UTC
> Build number: none
> Revision:     a831fa866d46cbee94e61a09af15f9dd95987421
> Groovy:       1.8.6
> Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
> Ivy:          2.2.0
> JVM:          1.8.0_05 (Oracle Corporation 25.5-b02)
> OS:           Mac OS X 10.9.3 x86_64
>            Reporter: Joern Huxhorn
>         Attachments: LOG4J2-684.zip
>
>
> (Actual version was 2.0-rc2 but that wasn't available in the list.)
> Currently, any potentially available suppressed exceptions are ignored by ConsoleAppender.
> Instead, it should print those exceptions with the prefix "Suppressed: ". Be aware that suppressed exceptions are indented with a \t, recursively, in contrast to the way "Caused by: " is handled.
> See Throwable.printStackTrace of Java 7 or higher for the implementation.
> Feel free to use the code over at https://github.com/huxi/lilith/blob/master/lilith-data/logging/src/main/java/de/huxhorn/lilith/data/logging/ThrowableInfo.java if it helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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