diff --git a/src/main/java/org/fluentd/logger/sender/RawSocketSender.java b/src/main/java/org/fluentd/logger/sender/RawSocketSender.java index f443e3a..f5e8f53 100644 --- a/src/main/java/org/fluentd/logger/sender/RawSocketSender.java +++ b/src/main/java/org/fluentd/logger/sender/RawSocketSender.java @@ -26,7 +26,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; -import java.net.SocketAddress; import java.nio.ByteBuffer; import java.util.Map; @@ -38,8 +37,6 @@ public class RawSocketSender implements Sender { private MessagePack msgpack; - private SocketAddress server; - private Socket socket; private int timeout; @@ -52,6 +49,10 @@ public class RawSocketSender implements Sender { private String name; + private final String host; + + private final int port; + private ErrorHandler errorHandler = DEFAULT_ERROR_HANDLER; public RawSocketSender() { @@ -71,7 +72,8 @@ public RawSocketSender(String host, int port, int timeout, int bufferCapacity, R msgpack = new MessagePack(); msgpack.register(Event.class, Event.EventTemplate.INSTANCE); pendings = ByteBuffer.allocate(bufferCapacity); - server = new InetSocketAddress(host, port); + this.host = host; + this.port = port; this.reconnector = reconnector; name = String.format("%s_%d_%d_%d", host, port, timeout, bufferCapacity); this.timeout = timeout; @@ -80,7 +82,7 @@ public RawSocketSender(String host, int port, int timeout, int bufferCapacity, R private void connect() throws IOException { try { socket = new Socket(); - socket.connect(server, timeout); + socket.connect(new InetSocketAddress(host, port), timeout); out = new BufferedOutputStream(socket.getOutputStream()); } catch (IOException e) { throw e; @@ -153,7 +155,7 @@ private boolean flushBuffer() { if (pendings.position() == 0) { return true; } else { - LOG.error("Cannot send logs to " + server.toString()); + LOG.error("Cannot send logs to " + socket.getInetAddress().toString()); } }