Class SocketHandler

    • Constructor Detail

      • SocketHandler

        public SocketHandler​(String hostname,
                             int port)
                      throws UnknownHostException
        Creates a socket handler.
        Parameters:
        hostname - the hostname to connect to
        port - the port to connect to
        Throws:
        UnknownHostException - if an error occurs resolving the address
      • SocketHandler

        public SocketHandler​(InetAddress address,
                             int port)
        Creates a socket handler.
        Parameters:
        address - the address to connect to
        port - the port to connect to
      • SocketHandler

        public SocketHandler​(SocketHandler.Protocol protocol,
                             String hostname,
                             int port)
                      throws UnknownHostException
        Creates a socket handler.
        Parameters:
        protocol - the protocol to connect with
        hostname - the hostname to connect to
        port - the port to connect to
        Throws:
        UnknownHostException - if an error occurs resolving the hostname
      • SocketHandler

        public SocketHandler​(SocketHandler.Protocol protocol,
                             InetAddress address,
                             int port)
        Creates a socket handler.
        Parameters:
        protocol - the protocol to connect with
        address - the address to connect to
        port - the port to connect to
      • SocketHandler

        public SocketHandler​(ClientSocketFactory clientSocketFactory,
                             SocketHandler.Protocol protocol)
        Creates a socket handler.
        Parameters:
        clientSocketFactory - the client socket factory used to create sockets
        protocol - the protocol to connect with
    • Method Detail

      • doPublish

        protected void doPublish​(ExtLogRecord record)
        Description copied from class: ExtHandler
        Do the actual work of publication; the record will have been filtered already. The default implementation does nothing except to flush if the autoFlush property is set to true; if this behavior is to be preserved in a subclass then this method should be called after the record is physically written.
        Overrides:
        doPublish in class ExtHandler
        Parameters:
        record - the log record to publish
      • getAddress

        public InetAddress getAddress()
        Returns the address being used.
        Returns:
        the address
      • setAddress

        public void setAddress​(InetAddress address)
        Sets the address to connect to.

        Note that is resets the client socket factory.

        Parameters:
        address - the address
      • setHostname

        public void setHostname​(String hostname)
                         throws UnknownHostException
        Sets the address to connect to by doing a lookup on the hostname.

        Note that is resets the client socket factory.

        Parameters:
        hostname - the host name used to resolve the address
        Throws:
        UnknownHostException - if an error occurs resolving the address
      • isBlockOnReconnect

        public boolean isBlockOnReconnect()
        Indicates whether or not the output stream is set to block when attempting to reconnect a TCP connection.
        Returns:
        true if blocking is enabled, otherwise false
      • setBlockOnReconnect

        public void setBlockOnReconnect​(boolean blockOnReconnect)
        Enables or disables blocking when attempting to reconnect the socket when using a TCP or SSL TCP connections.

        If set to true the write methods will block when attempting to reconnect. This is only advisable to be set to true if using an asynchronous handler.

        Parameters:
        blockOnReconnect - true to block when reconnecting or false to reconnect asynchronously discarding any new messages coming in
      • getProtocol

        public SocketHandler.Protocol getProtocol()
        Returns the protocol being used.
        Returns:
        the protocol
      • setProtocol

        public void setProtocol​(SocketHandler.Protocol protocol)
        Sets the protocol to use. If the value is null the protocol will be set to TCP.

        Note that is resets the socket factory if it was previously set.

        Parameters:
        protocol - the protocol to use
      • getPort

        public int getPort()
        Returns the port being used.
        Returns:
        the port
      • setPort

        public void setPort​(int port)
        Sets the port to connect to.

        Note that is resets the client socket factory.

        Parameters:
        port - the port
      • setClientSocketFactory

        public void setClientSocketFactory​(ClientSocketFactory clientSocketFactory)
        Sets the client socket factory used to create sockets. If null the address and port are required to be set.
        Parameters:
        clientSocketFactory - the client socket factory to use