[logback-dev] [JIRA] Commented: (LBCLASSIC-305) Logger does not implement LocationAwareLogger correctly with Wrapper class
Steve Cohen (JIRA)
noreply-jira at qos.ch
Mon Nov 7 15:46:14 CET 2011
[ http://jira.qos.ch/browse/LBCLASSIC-305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12275#action_12275 ]
Steve Cohen commented on LBCLASSIC-305:
---------------------------------------
After stepping through code it seems that the problem is that when filtered through LocationAwareLogger.log(), the new Throwable() call does not fill in a correct stack trace, but when going through a method such as Logger.debug(), the call to new Throwable() DOES produce a correct stack trace (albeit non-location-aware). This is why my original bandaid in see http://jira.qos.ch/browse/LBCORE-233) works, but this does not.
Hard to tell what's going on here because Throwable.fillInStackTrace() is native code. However, I don't suspect platform implementation because this issue was originally noticed (see http://jira.qos.ch/browse/LBCORE-233) on a Windows XP platform using Sun Java 1.6, whereas this test was on Ubuntu Linux using Sun Java 1.6.
> Logger does not implement LocationAwareLogger correctly with Wrapper class
> ---------------------------------------------------------------------------
>
> Key: LBCLASSIC-305
> URL: http://jira.qos.ch/browse/LBCLASSIC-305
> Project: logback-classic
> Issue Type: Bug
> Affects Versions: 1.0.0
> Reporter: Steve Cohen
> Assignee: Logback dev list
> Attachments: logback-bug.zip
>
>
> As shown in the attached project, we are logging using Logback classic through a wrapper class (LogHelper), with formatting specified by the %caller format specifier. Instead of showing the desired actual caller of the LogHelper.debug() method, the output shows as the caller, the caller of the caller of the logHelper.
> I'm expecting:
> 2011-11-06 18:49:59,650 DEBUG [main] Caller+0 at org.javactivity.A.<init>(A.java:8)
> - Constructor of A
> 2011-11-06 18:49:59,654 DEBUG [main] Caller+0 at org.javactivity.B.<init>(B.java:7)
> - Constructor of B
> Instead I get:
> 2011-11-06 18:49:59,650 DEBUG [main] ?#?:?
> - Constructor of A
> 2011-11-06 18:49:59,654 DEBUG [main] Caller+0 at org.javactivity.A.<init>(A.java:9)
> - Constructor of B
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the logback-dev
mailing list