When the class name contains 13 or more segments (12 dots), the abbreviation algorithm would bomb out with an exception. This was reported by Lukas Zapletal in LBCLASSIC-110 and on the logback mailing list. The critical change is int[] lengthArray = new int[ClassicConstants.MAX_DOTS]; instead of int[] lengthArray = new int[ClassicConstants.MAX_DOTS+1]; The current MAX_DOTS limit has been increased from 12 to 16. However, the with aforementioned "critical" change, the code can deal with any number of dots as attested by the accompanying test case.
parent
01112c2c
Please register or sign in to comment