6 public class WriterToLoggerAdapter extends Writer {
7 private LoggerWrapper logger;
8 private int messageType;
9 private StringBuffer lineBuffer;
10 private String lineSeparator;
12 public WriterToLoggerAdapter(LoggerWrapper aLogger, int aMessageType) {
13 lineBuffer = new StringBuffer();
15 messageType = aMessageType;
16 lineSeparator = System.getProperty("line.separator");
19 public WriterToLoggerAdapter(Logger aLogger, int aMessageType) {
20 this(new LoggerWrapper(aLogger), aMessageType);
28 if (lineBuffer.length()>0) {
29 logger.message(messageType, lineBuffer.toString());
30 lineBuffer.delete(0, lineBuffer.length());
34 protected void checkBuffer() {
36 int until = lineBuffer.toString().indexOf(lineSeparator, from);
39 String line = lineBuffer.substring(from, until);
40 logger.message(messageType, line);
41 from = until + lineSeparator.length();
42 until = lineBuffer.toString().indexOf(lineSeparator, from);
45 lineBuffer.delete(0, from);
48 public void write(char[] aBuffer, int anOffset, int aLength) {
49 lineBuffer.append(aBuffer, anOffset, aLength);