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.
- Author:
- Mark Womack, Scott Deboy (sdeboy@apache.org), Paul Smith (psmith@apache.org)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intPort.static 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.voiddoPost(org.apache.log4j.spi.LoggingEvent event) Posts the logging event to a logger in the configured logger repository.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
-
port
protected int portPort. -
ZONE
-
-
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
-
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
-