Bug Reporter created LOGBACK-1319:
-------------------------------------

             Summary: framework packages are not excluded properly
                 Key: LOGBACK-1319
                 URL: https://jira.qos.ch/browse/LOGBACK-1319
             Project: logback
          Issue Type: Bug
          Components: logback-classic
    Affects Versions: 1.2.3
            Reporter: Bug Reporter
            Assignee: Logback dev list


The 
[LoggerContext.getFrameworkPackages|https://logback.qos.ch/apidocs/ch/qos/logback/classic/LoggerContext.html#getFrameworkPackages()]
 documentation says this is a list of packages (including their subpackages) 
that get excluded when tracing the caller.
 But the implementation in 
[CallerData.isInFrameworkSpaceList|https://github.com/qos-ch/logback/blob/master/logback-classic/src/main/java/ch/qos/logback/classic/spi/CallerData.java#L104]
 is wrong because "com.foo" matches "com.foobar" which is not its subpackage.

I suggest changing
{code:java}
if (currentClass.startsWith(s)){code}
to
{code:java}
if (currentClass.startsWith(s + ".")){code}
or even
{code:java}
if (currentClass.equals(s) || currentClass.startsWith(s + ".")){code}
in case someone relies on this behavior to exclude specific classes (which 
would be nice anyway).

We could also add
{code:java}
if (s.equals("")) return !currentClass.contains("."){code}
to support excluding the default package classes.



--
This message was sent by Atlassian JIRA
(v7.3.1#73012)
_______________________________________________
logback-dev mailing list
logback-dev@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-dev

Reply via email to