Class SocketReceiver
java.lang.Object
org.apache.log4j.component.spi.ComponentBase
org.apache.log4j.component.plugins.PluginSkeleton
org.apache.log4j.component.plugins.Receiver
org.apache.log4j.receivers.net.SocketReceiver
- All Implemented Interfaces:
Runnable, Pauseable, Plugin, Component, Thresholdable, NetworkBased, PortBased, org.apache.log4j.spi.OptionHandler
SocketReceiver receives a remote logging event on a configured
socket and "posts" it to a LoggerRepository as if the event was
generated locally. This class is designed to receive events from
the SocketAppender class (or classes that send compatible events).
Once the event has been "posted", it will be handled by the appenders currently configured in the LoggerRespository.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classSocket detail. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate SocketNodeEventListenerListener.private ListListeners.private booleanPaused.protected intPort.private ThreadThread.private ServerSocketServer socket.private VectorSocket list.private Mapsocket map.private org.apache.log4j.net.ZeroConfSupportstatic final StringThe MulticastDNS zone advertised by a SocketReceiverFields inherited from class Receiver
thresholdLevelFields inherited from class PluginSkeleton
active, nameFields inherited from class ComponentBase
repository -
Constructor Summary
ConstructorsConstructorDescriptionCreate new instance.SocketReceiver(int p) Create new instance.SocketReceiver(int p, org.apache.log4j.spi.LoggerRepository repo) Create new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidStarts the SocketReceiver with the current options.voidAdds the listener to the list of listeners to be notified of the respective event.private voidCloses all the connected sockets in the List.private voidCloses the server socket, if created.voiddoPost(org.apache.log4j.spi.LoggingEvent event) Posts the logging event to a logger in the configured logger repository.private voidDoes the actual shutting down by closing the server socket and any connected sockets that have been created.Returns a Vector of SocketDetail representing the IP/Domain name of the currently connected sockets that this receiver has been responsible for creating.Deprecated.This receiver now supports multiple listenersintgetPort()Returns the Port # that this net based thing is using.booleanbooleanisEquivalent(Plugin testPlugin) Returns true if the receiver is the same class and they are configured for the same properties, and super class also considers them to be equivalent.booleanisPaused()Get paused state.voidRemoves the registered Listener from this instances list of listeners.voidrun()Loop, accepting new socket connections.protected voidsetActive(boolean b) Sets the flag to indicate if receiver is active or not.voidsetAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) voidDeprecated.This receiver now supports multiple listeners and so this method simply removes the listener (if there already) and readds it to the list.voidsetPaused(boolean b) Set paused state.voidsetPort(int p) voidshutdown()Called when the receiver should be stopped.Methods inherited from class Receiver
getThreshold, isAsSevereAsThreshold, setThresholdMethods inherited from class PluginSkeleton
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getLoggerRepository, getName, isActive, removePropertyChangeListener, removePropertyChangeListener, setLoggerRepository, setNameMethods inherited from class ComponentBase
getLogger, getNonFloodingLogger, resetErrorCountMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NetworkBased
getName, isActive
-
Field Details
-
socketMap
socket map. -
paused
private boolean pausedPaused. -
rThread
Thread. -
port
protected int portPort. -
serverSocket
Server socket. -
socketList
Socket list. -
ZONE
-
listener
Listener. -
listenerList
Listeners. -
advertiseViaMulticastDNS
private boolean advertiseViaMulticastDNS -
zeroConf
private org.apache.log4j.net.ZeroConfSupport zeroConf
-
-
Constructor Details
-
SocketReceiver
public SocketReceiver()Create new instance. -
SocketReceiver
public SocketReceiver(int p) Create new instance.- Parameters:
p- port
-
SocketReceiver
public SocketReceiver(int p, org.apache.log4j.spi.LoggerRepository repo) Create new instance.- Parameters:
p- portrepo- logger repository
-
-
Method Details
-
getPort
-
setPort
public void setPort(int p) -
isEquivalent
Returns true if the receiver is the same class and they are configured for the same properties, and super class also considers them to be equivalent. This is used by PluginRegistry when determining if the a similarly configured receiver is being started.- Specified by:
isEquivalentin interfacePlugin- Overrides:
isEquivalentin classPluginSkeleton- Parameters:
testPlugin- The plugin to test equivalency against.- Returns:
- boolean True if the testPlugin is equivalent to this plugin.
-
activateOptions
public void activateOptions()Starts the SocketReceiver with the current options.- Specified by:
activateOptionsin interfaceorg.apache.log4j.spi.OptionHandler
-
shutdown
-
doShutdown
private void doShutdown()Does the actual shutting down by closing the server socket and any connected sockets that have been created. -
closeServerSocket
private void closeServerSocket()Closes the server socket, if created. -
closeAllAcceptedSockets
private void closeAllAcceptedSockets()Closes all the connected sockets in the List. -
setActive
protected void setActive(boolean b) Sets the flag to indicate if receiver is active or not.- Parameters:
b- new value
-
setAdvertiseViaMulticastDNS
public void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) -
isAdvertiseViaMulticastDNS
public boolean isAdvertiseViaMulticastDNS() -
run
-
getConnectedSocketDetails
Returns a Vector of SocketDetail representing the IP/Domain name of the currently connected sockets that this receiver has been responsible for creating.- Returns:
- Vector of SocketDetails
-
getListener
Deprecated.This receiver now supports multiple listenersReturns the currently configured SocketNodeEventListener that will be automatically set for each SocketNode created.- Returns:
- SocketNodeEventListener currently configured
-
addSocketNodeEventListener
Adds the listener to the list of listeners to be notified of the respective event.- Parameters:
l- the listener to add to the list
-
removeSocketNodeEventListener
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:
l- the SocketNodeEventListener to remove
-
setListener
Deprecated.This receiver now supports multiple listeners and so this method simply removes the listener (if there already) and readds it to the list. The passed listener will also be returned via the getListener() method still, but this is also deprecatedSets the SocketNodeEventListener that will be used for each created SocketNode.- Parameters:
l- the listener to set on each creation of a SocketNode
-
isPaused
-
setPaused
-
doPost
-