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