tachyon
Class Log4jFileAppender

java.lang.Object
  extended by org.apache.log4j.AppenderSkeleton
      extended by org.apache.log4j.WriterAppender
          extended by org.apache.log4j.FileAppender
              extended by tachyon.Log4jFileAppender
All Implemented Interfaces:
org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler

public class Log4jFileAppender
extends org.apache.log4j.FileAppender

Custom log4j appender which preserves old logs on system restart, rolls over logs based on both size and day. Also implements batch deletion of logs when the maximum backup index is reached.


Field Summary
 
Fields inherited from class org.apache.log4j.FileAppender
bufferedIO, bufferSize, 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
Log4jFileAppender()
           
 
Method Summary
 void activateOptions()
          Called when a new log attempt is made, either due to server restart or rollover.
 void setDeletionPercentage(int deletionPercentage)
           
 void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize)
          Creates a LazyFileOutputStream so logs are only created when a message is logged.
 void setMaxBackupIndex(int maxBackups)
           
 void setMaxFileSize(int maxFileSizeMB)
           
 void subAppend(org.apache.log4j.spi.LoggingEvent event)
          Called whenever a new message is logged.
 
Methods inherited from class org.apache.log4j.FileAppender
closeFile, getAppend, getBufferedIO, getBufferSize, getFile, reset, setAppend, setBufferedIO, setBufferSize, setFile, setQWForFiles
 
Methods inherited from class org.apache.log4j.WriterAppender
append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, setEncoding, setErrorHandler, setImmediateFlush, setWriter, shouldFlush, 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

Log4jFileAppender

public Log4jFileAppender()
Method Detail

setMaxBackupIndex

public void setMaxBackupIndex(int maxBackups)

setMaxFileSize

public void setMaxFileSize(int maxFileSizeMB)

setDeletionPercentage

public void setDeletionPercentage(int deletionPercentage)

activateOptions

public void activateOptions()
Called when a new log attempt is made, either due to server restart or rollover. The filename is modified to identify the logging node in getNewFileName.

Specified by:
activateOptions in interface org.apache.log4j.spi.OptionHandler
Overrides:
activateOptions in class org.apache.log4j.FileAppender

setFile

public void setFile(String fileName,
                    boolean append,
                    boolean bufferedIO,
                    int bufferSize)
             throws IOException
Creates a LazyFileOutputStream so logs are only created when a message is logged.

Overrides:
setFile in class org.apache.log4j.FileAppender
Parameters:
fileName -
append -
bufferedIO -
bufferSize -
Throws:
IOException

subAppend

public void subAppend(org.apache.log4j.spi.LoggingEvent event)
Called whenever a new message is logged. Checks both the date and size to determine if rollover is necessary.

Overrides:
subAppend in class org.apache.log4j.WriterAppender
Parameters:
event -


Copyright © 2013. All Rights Reserved.