public class UDPAppender extends org.apache.log4j.AppenderSkeleton implements PortBased
The UDPAppender is meant to be used as a diagnostic logging tool so that logging can be monitored by a simple UDP client.
Messages are not sent as LoggingEvent objects but as text after applying the designated Layout.
The port and remoteHost properties can be set in configuration properties. By setting the remoteHost to a broadcast address any number of clients can listen for log messages.
This was inspired and really extended/copied from SocketAppender
.
Please see the docs for the proper credit to the authors of that class.
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_PORT
The default port number for the UDP packets, 9991.
|
static String |
ZONE
The MulticastDNS zone advertised by a UDPAppender
|
Constructor and Description |
---|
UDPAppender() |
UDPAppender(InetAddress address,
int port)
Sends UDP packets to the
address and port . |
UDPAppender(String host,
int port)
Sends UDP packets to the
address and port . |
Modifier and Type | Method and Description |
---|---|
void |
activateOptions()
Open the UDP sender for the RemoteHost and Port.
|
void |
append(org.apache.log4j.spi.LoggingEvent event) |
void |
cleanUp()
Close the UDP Socket and release the underlying
connector thread if it has been created
|
void |
close()
Close this appender.
|
String |
getApplication()
Returns value of the App option.
|
String |
getEncoding()
Returns value of the Encoding option.
|
int |
getPort()
Returns value of the Port option.
|
String |
getRemoteHost()
Returns value of the RemoteHost option.
|
boolean |
isActive()
Get if item is active.
|
boolean |
isAdvertiseViaMulticastDNS() |
boolean |
requiresLayout()
The UDPAppender uses layouts.
|
void |
setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) |
void |
setApplication(String app)
The App option takes a string value which should be the name of the application getting logged.
|
void |
setEncoding(String encoding)
The Encoding option specifies how the bytes are encoded.
|
void |
setPort(int port)
The Port option takes a positive integer representing
the port where UDP packets will be sent.
|
void |
setRemoteHost(String host)
The RemoteHost option takes a string value which should be
the host name or ipaddress to send the UDP packets.
|
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
public static final int DEFAULT_PORT
public static final String ZONE
public UDPAppender()
public UDPAppender(InetAddress address, int port)
address
and port
.public UDPAppender(String host, int port)
address
and port
.public void activateOptions()
activateOptions
in interface org.apache.log4j.spi.OptionHandler
activateOptions
in class org.apache.log4j.AppenderSkeleton
public void close()
This will mark the appender as closed and
call then cleanUp()
method.
close
in interface org.apache.log4j.Appender
public void cleanUp()
public void append(org.apache.log4j.spi.LoggingEvent event)
append
in class org.apache.log4j.AppenderSkeleton
public boolean isActive()
NetworkBased
isActive
in interface NetworkBased
public boolean requiresLayout()
true
.requiresLayout
in interface org.apache.log4j.Appender
public void setRemoteHost(String host)
public String getRemoteHost()
public void setApplication(String app)
public String getApplication()
public void setEncoding(String encoding)
public String getEncoding()
public void setPort(int port)
public int getPort()
public void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS)
public boolean isAdvertiseViaMulticastDNS()
Copyright © 2002-2017 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.