blob: 733687cd3c32db73a1d33440d5417684b95b5d19 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties>
<title>LoggerAppenderRollingFile</title>
</properties>
<body>
<section name="LoggerAppenderRollingFile">
<p><code>LoggerAppenderRollingFile</code> writes logging events to a specified file. The file is rolled over
after a specified size has been reached.</p>
<p>For example, if logging to a file named <code>file.log</code>, when the file size reaches the specified
size limit, the contents are archived in a file named <code>file.log.1</code> and <code>file.log</code>
is truncated. When the size limit is reached the second time, <code>file.log.1</code> is renamed to
<code>file.log.2</code>; contents from <code>file.log</code> are archived to <code>file.log.1</code> and
<code>file.log</code> is truncated</p>
<p>This continues until the maximum backup index is reached, after which the oldest log file is deleted
on each rollover.</p>
<subsection name="Layout">
<p>This appender requires a layout. If no layout is specified in configuration,
<code><a href="../layouts/simple.html">LoggerLayoutSimple</a></code> will be used by default.</p>
</subsection>
<subsection name="Parameters">
<p>The following parameters are available:</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Required</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>file</td>
<td>string</td>
<td><strong>Yes</strong></td>
<td>-</td>
<td>Path to the target file. Should contain a <code>%s</code> which gets substituted by the
date.</td>
</tr>
<tr>
<td>append</td>
<td>boolean</td>
<td>No</td>
<td>true</td>
<td>If set to true, the appender will append to the file, otherwise the file contents will be
overwritten.</td>
</tr>
<tr>
<td>maxFileSize</td>
<td>string</td>
<td>No</td>
<td>10M</td>
<td>Maximum allowed file size (in bytes) before rolling over. Suffixes "KB", "MB" and "GB" are allowed. 10KB = 10240 bytes, etc.</td>
</tr>
<tr>
<td>maxBackupIndex</td>
<td>integer</td>
<td>No</td>
<td>1</td>
<td>Maximum number of backup files to keep.</td>
</tr>
<tr>
<td>compress</td>
<td>boolean</td>
<td>No</td>
<td>false</td>
<td>If set to true, the rollover files are compressed and saved with the .gz extension.</td>
</tr>
</tbody>
</table>
</subsection>
<subsection name="Examples">
<p>This example shows how to configure <code>LoggerAppenderRollingFile</code> to rollover after reaching
the size of 1MB and for keeping the last 5 backup files.</p>
<div class="auto-tabs">
<ul>
<li>XML</li>
<li>PHP</li>
</ul>
<div class="tab-content" >
<div class="tab-pane">
<pre class="prettyprint"><![CDATA[
<configuration xmlns="http://logging.apache.org/log4php/">
<appender name="default" class="LoggerAppenderRollingFile">
<layout class="LoggerLayoutSimple" />
<param name="file" value="file.log" />
<param name="maxFileSize" value="1MB" />
<param name="maxBackupIndex" value="5" />
</appender>
<root>
<appender_ref ref="default" />
</root>
</configuration>
]]></pre>
</div>
<div class="tab-pane">
<pre class="prettyprint"><![CDATA[
array(
'appenders' => array(
'default' => array(
'class' => 'LoggerAppenderRollingFile',
'layout' => array(
'class' => 'LoggerLayoutSimple',
),
'params' => array(
'file' => 'file.log',
'maxFileSize' => '1MB',
'maxBackupIndex' => 5,
),
),
),
'rootLogger' => array(
'appenders' => array('default'),
),
);
]]></pre>
</div>
</div>
</div>
</subsection>
</section>
</body>
</document>