[logback-dev] [JIRA] Commented: (LBCLASSIC-305) Logger does not implement LocationAwareLogger correctly with Wrapper class

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Mon Nov 7 18:28:12 CET 2011


    [ http://jira.qos.ch/browse/LBCLASSIC-305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12277#action_12277 ] 

Ceki Gulcu commented on LBCLASSIC-305:
--------------------------------------

It seems that you have missed the point of the fcqn parameter in LocationAwareLogger#log method. The fcqn should be always equal to the fully qualified class name of the wrapper class, in your case LogHelper. The fcqn should not be a parameter passed to LogHelper. 

Here is the modified code: 

public class LogHelper {
  private static final String fqcn =  LogHelper.class.getName();
  private LocationAwareLogger logger;

  public LogHelper(Class<?> klazz) {
    this.logger = (LocationAwareLogger) LoggerFactory.getLogger(klazz);
   }
  ... rest of the code unchanged
  
}

With this modification it all works nicely. Please check and confirm.


> 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-2.zip, 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