5 public class LoggerToWriterAdapter extends Writer {
6 private LoggerWrapper logger;
7 private int messageType;
8 private StringBuffer lineBuffer;
9 private String lineSeparator;
11 public LoggerToWriterAdapter(LoggerWrapper aLogger, int aMessageType) {
12 lineBuffer = new StringBuffer();
14 messageType = aMessageType;
15 lineSeparator = System.getProperty("line.separator");
18 public LoggerToWriterAdapter(Logger aLogger, int aMessageType) {
19 this(new LoggerWrapper(aLogger), aMessageType);
27 if (lineBuffer.length()>0) {
28 logger.message(messageType, lineBuffer.toString());
29 lineBuffer.delete(0, lineBuffer.length());
33 protected void checkBuffer() {
35 int until = lineBuffer.toString().indexOf(lineSeparator, from);
38 String line = lineBuffer.substring(from, until);
39 logger.message(messageType, line);
40 from = until + lineSeparator.length();
41 until = lineBuffer.toString().indexOf(lineSeparator, from);
44 lineBuffer.delete(0, from);
47 public void write(char[] aBuffer, int anOffset, int aLength) {
48 lineBuffer.append(aBuffer, anOffset, aLength);