package com.traxel.lumbermill;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.ErrorManager;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
private final ObjectOutputStream stream;
final Socket socket;
final OutputStream outStream;
ObjectOutputStream localStream = null;
try {
socket = new Socket(host, port);
outStream = socket.getOutputStream();
localStream = new ObjectOutputStream(outStream);
} catch (IOException e) {
reportError(e.getMessage(),
e,
ErrorManager.OPEN_FAILURE);
}
this.stream = localStream;
}
@Override
try {
stream.close();
} catch (IOException e) {
reportError(e.getMessage(),
e,
ErrorManager.CLOSE_FAILURE);
}
}
@Override
try {
stream.flush();
} catch (IOException e) {
reportError(e.getMessage(),
e,
ErrorManager.FLUSH_FAILURE);
}
}
@Override
public void publish(
final LogRecord record) {
try {
stream.writeObject(record);
stream.flush();
} catch (IOException e) {
reportError(e.getMessage(),
e,
ErrorManager.WRITE_FAILURE);
}
}
}