public final class RollingFileAppender
extends org.apache.log4j.FileAppender
implements org.apache.log4j.xml.UnrecognizedElementHandler
RollingFileAppender
extends FileAppender
to backup the log files
depending on RollingPolicy
and TriggeringPolicy
.
To be of any use, a RollingFileAppender
instance must have both
a RollingPolicy
and a TriggeringPolicy
set up.
However, if its RollingPolicy
also implements the
TriggeringPolicy
interface, then only the former needs to be
set up. For example, TimeBasedRollingPolicy
acts both as a
RollingPolicy
and a TriggeringPolicy
.
RollingFileAppender
can be configured programattically or
using DOMConfigurator
or
DOMConfigurator
in log4j 1.2.15 or later. Here is a sample
configration file:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration> <log4j:configuration debug="true"> <appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%c{1} - %m%n"/> </layout> </appender> <root"> <appender-ref ref="ROLL"/> </root> </log4j:configuration>
This configuration file specifies a monthly rollover schedule including
automatic compression of the archived files. See
TimeBasedRollingPolicy
for more details.
Constructor and Description |
---|
RollingFileAppender()
Construct a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
activateOptions()
Prepare instance of use.
|
void |
close()
Close appender.
|
protected OutputStreamWriter |
createWriter(OutputStream os)
Returns an OutputStreamWriter when passed an OutputStream.
|
long |
getFileLength()
Get byte length of current active log file.
|
RollingPolicy |
getRollingPolicy()
Get rolling policy.
|
TriggeringPolicy |
getTriggeringPolicy()
Get triggering policy.
|
void |
incrementFileLength(int increment)
Increments estimated byte length of current active log file.
|
boolean |
parseUnrecognizedElement(Element element,
Properties props) |
boolean |
rollover()
Implements the usual roll over behaviour.
|
void |
setRollingPolicy(RollingPolicy policy)
Sets the rolling policy.
|
void |
setTriggeringPolicy(TriggeringPolicy policy)
Set triggering policy.
|
protected void |
subAppend(org.apache.log4j.spi.LoggingEvent event) |
closeFile, getAppend, getBufferedIO, getBufferSize, getFile, reset, setAppend, setBufferedIO, setBufferSize, setFile, setFile, setQWForFiles
append, checkEntryConditions, closeWriter, getEncoding, getImmediateFlush, requiresLayout, setEncoding, setErrorHandler, setImmediateFlush, setWriter, shouldFlush, writeFooter, writeHeader
public void activateOptions()
activateOptions
in interface org.apache.log4j.spi.OptionHandler
activateOptions
in class org.apache.log4j.FileAppender
public boolean rollover()
If MaxBackupIndex
is positive, then files
{File.1
, ..., File.MaxBackupIndex -1
}
are renamed to {File.2
, ...,
File.MaxBackupIndex
}. Moreover, File
is
renamed File.1
and closed. A new File
is
created to receive further log output.
If MaxBackupIndex
is equal to zero, then the
File
is truncated with no backup files created.
protected void subAppend(org.apache.log4j.spi.LoggingEvent event)
subAppend
in class org.apache.log4j.WriterAppender
public RollingPolicy getRollingPolicy()
public TriggeringPolicy getTriggeringPolicy()
public void setRollingPolicy(RollingPolicy policy)
policy
- rolling policy.public void setTriggeringPolicy(TriggeringPolicy policy)
policy
- triggering policy.public void close()
close
in interface org.apache.log4j.Appender
close
in class org.apache.log4j.WriterAppender
protected OutputStreamWriter createWriter(OutputStream os)
encoding
property. If the encoding value is
specified incorrectly the writer will be opened using the default
system encoding (an error message will be printed to the loglog.createWriter
in class org.apache.log4j.WriterAppender
os
- output stream, may not be null.public long getFileLength()
public void incrementFileLength(int increment)
increment
- additional bytes written to log file.public boolean parseUnrecognizedElement(Element element, Properties props) throws Exception
parseUnrecognizedElement
in interface org.apache.log4j.xml.UnrecognizedElementHandler
Exception
Copyright © 2013 The Apache Software Foundation. Licensed under the Apache License, Version 2.0
Apache Extras for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.