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