57

I am using log4j to log my exceptions. I want to log whatever I get in e.printStackTrace();
My code looks like this:

try {

} catch(Exception e) {
    log.error("Exception is:::" + e);
}

But the content I get logged looks like this:

2012-02-02 12:47:03,227 ERROR [com.api.bg.sample] - Exception in unTech:::[Ljava.lang.StackTraceElement;@6ed322
2012-02-02 12:47:03,309 ERROR [com.api.bg.sample] - Exception is :::java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

But the content I expect is:

java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at com.api.bg.sample.unGZIP(sample.java:191)
at com.api.bg.sample.main(sample.java:69)

I tried e.getMessage(), e.getStackTrace(); however I don't get the full stacktrace. Any suggestions?

1

5 Answers 5

93

You have to use the two argument form

log.error("my logging message", exception)

See http://www.devdaily.com/blog/post/java/how-print-exception-stack-trace-using-log4j-commons for more details.

Sign up to request clarification or add additional context in comments.

Comments

8

Change your logging statement to:

log.error("Exception is: ", e);

Comments

4

It is actualy log4j that prevents the printing of the fulltime stacktrace. You should however set the exception as a second parameter for the error method.

Comments

3

If you use the below than e.toString() will be called which calls e.getMessage()

log.error("Exception is:::" + e);

However, to print full stack trace you can use the below:

log.error("Exception is:::" + ExceptionUtils.getStackTrace(e));

where ExceptionUtils is imported as org.apache.commons.lang3.exception.ExceptionUtils

Comments

0
log.log(LEVEL.ERROR,e.getMessage(),e);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.