
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: logback-dev@qos.ch ReportedBy: mark_z@charter.net 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.