Class SocketNode13

java.lang.Object
org.apache.log4j.component.spi.ComponentBase
org.apache.log4j.receivers.net.SocketNode13
All Implemented Interfaces:
Runnable, Pauseable, Component

public class SocketNode13 extends ComponentBase implements Runnable, Pauseable
Read LoggingEvent objects sent from a remote client using Sockets (TCP). These logging events are logged according to local policy, as if they were generated locally.

For example, the socket node might decide to log events to a local file and also resent them to a second socket node. Implementation lifted from org.apache.log4j.net.SocketNode in log4j 1.3 and renamed to prevent collision with log4j 1.2 implementation.

  • Field Details

    • paused

      private boolean paused
      Paused state.
    • closed

      private boolean closed
      Closed state.
    • socket

      private Socket socket
      Socket.
    • receiver

      private Receiver receiver
      Receiver.
    • listenerList

      private List listenerList
      List of listeners.
  • Constructor Details

    • SocketNode13

      public SocketNode13(Socket s, org.apache.log4j.spi.LoggerRepository hierarchy)
      Constructor for socket and logger repository.
      Parameters:
      s - socket
      hierarchy - logger repository
    • SocketNode13

      public SocketNode13(Socket s, Receiver r)
      Constructor for socket and receiver.
      Parameters:
      s - socket
      r - receiver
  • Method Details

    • setListener

      public void setListener(SocketNodeEventListener l)
      Deprecated.
      Now supports mutliple listeners, this method simply invokes the removeSocketNodeEventListener() to remove the listener, and then readds it.
      Set the event listener on this node.
      Parameters:
      l - listener
    • addSocketNodeEventListener

      public void addSocketNodeEventListener(SocketNodeEventListener listener)
      Adds the listener to the list of listeners to be notified of the respective event.
      Parameters:
      listener - the listener to add to the list
    • removeSocketNodeEventListener

      public void removeSocketNodeEventListener(SocketNodeEventListener listener)
      Removes the registered Listener from this instances list of listeners. If the listener has not been registered, then invoking this method has no effect.
      Parameters:
      listener - the SocketNodeEventListener to remove
    • run

      public void run()
      Deserialize events from socket until interrupted.
      Specified by:
      run in interface Runnable
    • fireSocketClosedEvent

      private void fireSocketClosedEvent(Exception listenerException)
      Notifies all registered listeners regarding the closing of the Socket.
      Parameters:
      listenerException - listener exception
    • fireSocketOpened

      private void fireSocketOpened(String remoteInfo)
      Notifies all registered listeners regarding the opening of a Socket.
      Parameters:
      remoteInfo - remote info
    • setPaused

      public void setPaused(boolean b)
      Sets if node is paused.
      Specified by:
      setPaused in interface Pauseable
      Parameters:
      b - new value
    • isPaused

      public boolean isPaused()
      Get if node is paused.
      Specified by:
      isPaused in interface Pauseable
      Returns:
      true if pause.
    • close

      public void close() throws IOException
      Close the node and underlying socket
      Throws:
      IOException
    • isClosed

      public boolean isClosed()
      Get if node is closed.
      Returns:
      true if closed.