Package org.apache.log4j.receivers.net
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 class
Socket detail. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private SocketNodeEventListener
Listener.private List
Listeners.private boolean
Paused.protected int
Port.private Thread
Thread.private ServerSocket
Server socket.private Vector
Socket list.private Map
socket map.private org.apache.log4j.net.ZeroConfSupport
static final String
The MulticastDNS zone advertised by a SocketReceiverFields inherited from class org.apache.log4j.component.plugins.Receiver
thresholdLevel
Fields inherited from class org.apache.log4j.component.plugins.PluginSkeleton
active, name
Fields inherited from class org.apache.log4j.component.spi.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 TypeMethodDescriptionvoid
Starts the SocketReceiver with the current options.void
Adds the listener to the list of listeners to be notified of the respective event.private void
Closes all the connected sockets in the List.private void
Closes the server socket, if created.void
doPost
(org.apache.log4j.spi.LoggingEvent event) Posts the logging event to a logger in the configured logger repository.private void
Does 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 listenersint
getPort()
Returns the Port # that this net based thing is using.boolean
boolean
isEquivalent
(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.boolean
isPaused()
Get paused state.void
Removes the registered Listener from this instances list of listeners.void
run()
Loop, accepting new socket connections.protected void
setActive
(boolean b) Sets the flag to indicate if receiver is active or not.void
setAdvertiseViaMulticastDNS
(boolean advertiseViaMulticastDNS) void
Deprecated.This receiver now supports multiple listeners and so this method simply removes the listener (if there already) and readds it to the list.void
setPaused
(boolean b) Set paused state.void
setPort
(int p) void
shutdown()
Called when the receiver should be stopped.Methods inherited from class org.apache.log4j.component.plugins.Receiver
getThreshold, isAsSevereAsThreshold, setThreshold
Methods inherited from class org.apache.log4j.component.plugins.PluginSkeleton
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getLoggerRepository, getName, isActive, removePropertyChangeListener, removePropertyChangeListener, setLoggerRepository, setName
Methods inherited from class org.apache.log4j.component.spi.ComponentBase
getLogger, getNonFloodingLogger, resetErrorCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.log4j.receivers.net.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
The MulticastDNS zone advertised by a SocketReceiver- See Also:
-
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
public int getPort()Description copied from interface:PortBased
Returns the Port # that this net based thing is using. -
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:
isEquivalent
in interfacePlugin
- Overrides:
isEquivalent
in 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:
activateOptions
in interfaceorg.apache.log4j.spi.OptionHandler
-
shutdown
public void shutdown()Called when the receiver should be stopped. Closes the server socket and all of the open sockets. -
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
public void run()Loop, accepting new socket connections. -
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
public boolean isPaused()Get paused state. -
setPaused
public void setPaused(boolean b) Set paused state. -
doPost
public void doPost(org.apache.log4j.spi.LoggingEvent event) Posts the logging event to a logger in the configured logger repository.
-