http://bugzilla.qos.ch/show_bug.cgi?id=127
Summary: LoggerComparator sorts incorrectly
Product: logback-classic
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: Other
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
ch.qos.logback.classic.spi.LoggerComparator doesn't work as intended, because
it is violating the symmetric property and contract of
java.util.Comparator.compare(T, T).
While Logger l1 is checked against LoggerContext.ROOT_NAME, Logger l2 also
needs to be checked.
Current implementation:
public int compare(Logger l1, Logger l2) {
if (l1.getName().equals(LoggerContext.ROOT_NAME)) {
return -1;
}
return l1.getName().compareTo(l2.getName());
}
Corrected implementation:
public int compare(Logger l1, Logger l2) {
if(l1.getName().equals(LoggerContext.ROOT_NAME)){
return -1;
}
if(l2.getName().equals(LoggerContext.ROOT_NAME)){
return 1;
}
return l1.getName().compareTo(l2.getName());
}
--
Configure bugmail: http://bugzilla.qos.ch/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev