org.apache.log4j.net
Class LCDAppender

java.lang.Object
  |
  +--org.apache.log4j.AppenderSkeleton
        |
        +--org.apache.log4j.net.LCDAppender
All Implemented Interfaces:
org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler

public class LCDAppender
extends org.apache.log4j.AppenderSkeleton

The LCDAppender is a log4j appender that specializes in writing to an LCDproc daemon (LCDd) through a TCP/IP connection using the special LCDproc ASCII-based protocol.

The appender creates a thread that connects to the specified LCDd server. It creates a "screen" and writes log4j-generated messages to it. Messages can be any size. When the text length exceeds the LCD's limited size (usually it is 16,20,24 or 40 characters wide), the text is scrolled (this is a function of LCDd, not LCDAppender).

Warning 1: As soon as the TCP/IP connection is closed the screen simply disappears. It is thus a good idea to log anything that goes to this appender to some place that is more reliable, too.

Warning 2: When using the LCDAppender, log4j must be shut down properly. Otherwise, the thread created by LCDAppender will prevent the JVM from exiting. Use LogManager.shutdown(); before System.exit()-ing from your program.

Here is a list of the available configuration options:
Name Requirement Description Sample Value
Host optional This parameter determines the internet host to connect to. The default is localhost. lcd.proc.host.com
Port optional This parameter determines the port to connect to. The default port is 13666 (lcdproc). 5875
Priority optional This parameter determines the LCDproc screen priority (see netstuff.txt, section screen_set). Values: 0..255. Lower values denote higher priority. The default port is 128. 32

A sample log4j configuration file using this appender may look like this:
# Set root logger level to FATAL and its only appender to LCD.
log4j.rootLogger=FATAL, LCD

# LCD is set to be a LCDAppender
log4j.appender.LCD=org.apache.log4j.net.LCDAppender
log4j.appender.LCD.host=monitor.bofh.de
log4j.appender.LCD.port=13666
log4j.appender.LCD.priority=32

# LCD uses PatternLayout.
log4j.appender.LCD.layout=org.apache.log4j.PatternLayout
log4j.appender.LCD.layout.ConversionPattern=JBoss: %m

Version:
0.1
Author:
Matthias Gärtner (24. November 2002)
See Also:
LCDproc, netstuff.txt

Inner Class Summary
protected  class LCDAppender.SocketHandler
           
 
Field Summary
protected  java.lang.String host
           
protected  int port
           
protected  int priority
           
protected  LCDAppender.SocketHandler sh
           
 
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
 
Constructor Summary
LCDAppender()
           
LCDAppender(org.apache.log4j.Layout layout)
           
 
Method Summary
 void activateOptions()
           
 void append(org.apache.log4j.spi.LoggingEvent event)
           
 void close()
           
 void finalize()
           
 java.lang.String getHost()
           
 int getPort()
           
 int getPriority()
           
 boolean requiresLayout()
           
 void setHost(java.lang.String host)
           
 void setPort(int port)
           
 void setPriority(int priority)
           
 
Methods inherited from class org.apache.log4j.AppenderSkeleton
addFilter, clearFilters, doAppend, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sh

protected LCDAppender.SocketHandler sh

port

protected int port

host

protected java.lang.String host

priority

protected int priority
Constructor Detail

LCDAppender

public LCDAppender()

LCDAppender

public LCDAppender(org.apache.log4j.Layout layout)
Method Detail

close

public void close()
Overrides:
close in class org.apache.log4j.AppenderSkeleton

append

public void append(org.apache.log4j.spi.LoggingEvent event)
Overrides:
append in class org.apache.log4j.AppenderSkeleton

requiresLayout

public boolean requiresLayout()
Overrides:
requiresLayout in class org.apache.log4j.AppenderSkeleton

activateOptions

public void activateOptions()
Overrides:
activateOptions in class org.apache.log4j.AppenderSkeleton

getPort

public int getPort()

setPort

public void setPort(int port)

getHost

public java.lang.String getHost()

setHost

public void setHost(java.lang.String host)

getPriority

public int getPriority()

setPriority

public void setPriority(int priority)

finalize

public void finalize()
Overrides:
finalize in class org.apache.log4j.AppenderSkeleton