com.partnersoft.platform.j2se
Class ArchiveLogAppender

java.lang.Object
  extended by org.apache.log4j.AppenderSkeleton
      extended by org.apache.log4j.WriterAppender
          extended by com.partnersoft.platform.j2se.ArchiveLogAppender
All Implemented Interfaces:
org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler

public class ArchiveLogAppender
extends org.apache.log4j.WriterAppender

Appends log events to a managed set of files in logs/archive/.

This appender supports a fairly sophisticated rotation scheme. It is assumed that logs may stretch over days and megabytes, and we may want to maintain some number of previous logs.

Logs are stored in files with names representing date and time down to the second - e.g. 2006.07.24-12.33.22.log, 2006.07.24-14.58.10.log, etc. They are rolled over each day and also whenever they exceed the given bytesize (default 10M).

Logs from the same run are stored in their own directory, which is also timestamped - e.g. logs/archives/2006.07.24-14.38.06/. The timestamp is primarily to provide a somewhat intelligible unique ID, and represents the time at which the program was started.

When the appender is started, it first performs some clean-up chores. It scans the logs/archive directory and deletes the oldest run directories until there are 8 or fewer runs.

Copyright 2006 Partner Software, Inc.

Author:
Paul Reavis

Field Summary
 
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
ArchiveLogAppender()
           
 
Method Summary
 void activateOptions()
           
protected  void subAppend(org.apache.log4j.spi.LoggingEvent event)
           
 
Methods inherited from class org.apache.log4j.WriterAppender
append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, reset, setEncoding, setErrorHandler, setImmediateFlush, setWriter, writeFooter, writeHeader
 
Methods inherited from class org.apache.log4j.AppenderSkeleton
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setLayout, setName, setThreshold
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArchiveLogAppender

public ArchiveLogAppender()
Method Detail

activateOptions

public void activateOptions()
Specified by:
activateOptions in interface org.apache.log4j.spi.OptionHandler
Overrides:
activateOptions in class org.apache.log4j.WriterAppender

subAppend

protected void subAppend(org.apache.log4j.spi.LoggingEvent event)
Overrides:
subAppend in class org.apache.log4j.WriterAppender