org.apache.log4j.varia

Class ExternallyRolledFileAppender

Implemented Interfaces:
Appender, OptionHandler

public class ExternallyRolledFileAppender
extends RollingFileAppender

This appender listens on a socket on the port specified by the Port property for a "RollOver" message. When such a message is received, the underlying log file is rolled over and an acknowledgment message is sent back to the process initiating the roll over.

This method of triggering roll over has the advantage of being operating system independent, fast and reliable.

A simple application Roller is provided to initiate the roll over.

Note that the initiator is not authenticated. Anyone can trigger a rollover. In production environments, it is recommended that you add some form of protection to prevent undesired rollovers.

Author:
Ceki Gülcü
Since:
version 0.9.0

Field Summary

static String
OK
The string constant sent to acknowledge a roll over.
static String
ROLL_OVER
The string constant sent to initiate a roll over.

Fields inherited from class org.apache.log4j.RollingFileAppender

maxBackupIndex, maxFileSize

Fields inherited from class org.apache.log4j.FileAppender

bufferSize, bufferedIO, fileAppend, fileName

Fields inherited from class org.apache.log4j.WriterAppender

encoding, immediateFlush, qw

Fields inherited from class org.apache.log4j.AppenderSkeleton

closed, errorHandler, headFilter, layout, name, tailFilter, threshold

Constructor Summary

ExternallyRolledFileAppender()
The default constructor does nothing but calls its super-class constructor.

Method Summary

void
activateOptions()
Start listening on the port specified by a preceding call to setPort(int).
int
getPort()
Returns value of the Port option.
void
setPort(int port)
The Port [roperty is used for setting the port for listening to external roll over messages.

Methods inherited from class org.apache.log4j.RollingFileAppender

getMaxBackupIndex, getMaximumFileSize, setFile, setMaxBackupIndex, setMaxFileSize, setMaximumFileSize, setQWForFiles, subAppend, synchronization not necessary since doAppend is alreasy synched void rollOver

Methods inherited from class org.apache.log4j.FileAppender

activateOptions, closeFile, getAppend, getBufferSize, getBufferedIO, getFile, reset, setAppend, setBufferSize, setBufferedIO, setFile, setFile, setQWForFiles

Methods inherited from class org.apache.log4j.WriterAppender

activateOptions, append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, reset, setEncoding, setErrorHandler, setImmediateFlush, setWriter, subAppend, writeFooter, writeHeader

Methods inherited from class org.apache.log4j.AppenderSkeleton

activateOptions, addFilter, append, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold

Field Details

OK

public static final String OK
The string constant sent to acknowledge a roll over. Current value of this string constant is OK.

ROLL_OVER

public static final String ROLL_OVER
The string constant sent to initiate a roll over. Current value of this string constant is RollOver.

Constructor Details

ExternallyRolledFileAppender

public ExternallyRolledFileAppender()
The default constructor does nothing but calls its super-class constructor.

Method Details

activateOptions

public void activateOptions()
Specified by:
activateOptions in interface OptionHandler
Overrides:
activateOptions in interface FileAppender

getPort

public int getPort()
Returns value of the Port option.

setPort

public void setPort(int port)
The Port [roperty is used for setting the port for listening to external roll over messages.

Copyright 2000-2005 Apache Software Foundation.