<?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>
