in apache-rat-core/src/main/java/org/apache/rat/utils/Log.java [199:233]
default Writer asWriter(Level level) {
return new Writer() {
private StringBuilder sb = new StringBuilder();
@Override
public void write(final char[] cbuf, final int off, final int len) {
String txt = String.copyValueOf(cbuf, off, len);
int pos = txt.indexOf(System.lineSeparator());
if (pos == -1) {
sb.append(txt);
} else {
while (pos > -1) {
Log.this.log(level, sb.append(txt, 0, pos).toString());
sb.delete(0, sb.length());
txt = txt.substring(pos + 1);
pos = txt.indexOf(System.lineSeparator());
}
sb.append(txt);
}
}
@Override
public void flush() {
if (sb.length() > 0) {
Log.this.log(level, sb.toString());
}
sb = new StringBuilder();
}
@Override
public void close() {
flush();
}
};
}