in src/main/java/org/apache/commons/logging/impl/Jdk13LumberjackLogger.java [157:184]
private void getClassAndMethod() {
try {
final Throwable throwable = new Throwable();
throwable.fillInStackTrace();
final StringWriter stringWriter = new StringWriter();
final PrintWriter printWriter = new PrintWriter(stringWriter);
throwable.printStackTrace(printWriter);
final String traceString = stringWriter.toString();
final StringTokenizer tokenizer = new StringTokenizer(traceString, "\n");
tokenizer.nextToken();
String line = tokenizer.nextToken();
while (!line.contains(this.getClass().getName())) {
line = tokenizer.nextToken();
}
while (line.contains(this.getClass().getName())) {
line = tokenizer.nextToken();
}
final int start = line.indexOf("at ") + 3;
final int end = line.indexOf('(');
final String temp = line.substring(start, end);
final int lastPeriod = temp.lastIndexOf('.');
sourceClassName = temp.substring(0, lastPeriod);
sourceMethodName = temp.substring(lastPeriod + 1);
} catch (final Exception ex) {
// ignore - leave class and methodname unknown
}
classAndMethodFound = true;
}