blob: 59db19f1def53ee21ae4ff9a40a75f31539fc992 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Oct 13, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Apache log4php -
LoggerAppenderDailyFile - Apache log4php</title>
<link rel="stylesheet" href="../../css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="../../css/site.css" type="text/css" />
<script type="text/javascript" src="../../js/jquery.min.js"></script>
<script type="text/javascript" src="../../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../js/prettify.min.js"></script>
<script type="text/javascript" src="../../js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20121013" />
<meta http-equiv="Content-Language" content="en" />
<!-- Google Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26177991-1']);
_gaq.push (['_gat._anonymizeIp']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="composite">
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="http://logging.apache.org/log4php">Apache log4php &trade;</a>
<ul class="nav">
<li>
<a href="../../index.html" title="About">About</a>
</li>
<li>
<a href="../../download.html" title="Download">Download</a>
</li>
<li>
<a href="../../install.html" title="Install">Install</a>
</li>
<li>
<a href="../../quickstart.html" title="Quick start">Quick start</a>
</li>
</ul>
<!-- Twitter link -->
<ul class="nav pull-right">
<li><a href="http://twitter.com/log4php/" class="external">Follow <strong>@log4php</strong></a></li>
</ul>
<!-- Google CSE Search Box -->
<form class="navbar-search pull-right" id="cref" action="http://www.google.com/cse">
<input type="hidden" name="cref" value="http://logging.apache.org/log4php/cse.xml" />
<input class="search-query pull-left" type="text" name="q" size="40" placeholder="Search" />
</form>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>Apache log4php™</li>
<li class="none">
<a href="../../index.html" title="About">About</a>
</li>
<li class="none">
<a href="../../download.html" title="Download">Download</a>
</li>
<li class="none">
<a href="../../install.html" title="Install">Install</a>
</li>
<li class="none">
<a href="../../changelog.html" title="Changelog">Changelog</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Documentation</li>
<li class="none">
<a href="../../quickstart.html" title="Quick start">Quick start</a>
</li>
<li class="none">
<a href="../../docs/introduction.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="../../docs/configuration.html" title="Configuration">Configuration</a>
</li>
<li class="none">
<a href="../../docs/loggers.html" title="Loggers">Loggers</a>
</li>
<li class="expanded">
<a href="../../docs/appenders.html" title="Appenders">Appenders</a>
<ul>
<li class="none">
<a href="../../docs/appenders/console.html" title="LoggerAppenderConsole">LoggerAppenderConsole</a>
</li>
<li class="none active">
<a href="../../docs/appenders/daily-file.html" title="LoggerAppenderDailyFile">LoggerAppenderDailyFile</a>
</li>
<li class="none">
<a href="../../docs/appenders/echo.html" title="LoggerAppenderEcho">LoggerAppenderEcho</a>
</li>
<li class="none">
<a href="../../docs/appenders/file.html" title="LoggerAppenderFile">LoggerAppenderFile</a>
</li>
<li class="none">
<a href="../../docs/appenders/firephp.html" title="LoggerAppenderFirePHP">LoggerAppenderFirePHP</a>
</li>
<li class="none">
<a href="../../docs/appenders/mail.html" title="LoggerAppenderMail">LoggerAppenderMail</a>
</li>
<li class="none">
<a href="../../docs/appenders/mail-event.html" title="LoggerAppenderMailEvent">LoggerAppenderMailEvent</a>
</li>
<li class="none">
<a href="../../docs/appenders/mongodb.html" title="LoggerAppenderMongoDB">LoggerAppenderMongoDB</a>
</li>
<li class="none">
<a href="../../docs/appenders/null.html" title="LoggerAppenderNull">LoggerAppenderNull</a>
</li>
<li class="none">
<a href="../../docs/appenders/pdo.html" title="LoggerAppenderPDO">LoggerAppenderPDO</a>
</li>
<li class="none">
<a href="../../docs/appenders/php.html" title="LoggerAppenderPHP">LoggerAppenderPHP</a>
</li>
<li class="none">
<a href="../../docs/appenders/rolling-file.html" title="LoggerAppenderRollingFile">LoggerAppenderRollingFile</a>
</li>
<li class="none">
<a href="../../docs/appenders/socket.html" title="LoggerAppenderSocket">LoggerAppenderSocket</a>
</li>
<li class="none">
<a href="../../docs/appenders/syslog.html" title="LoggerAppenderSyslog">LoggerAppenderSyslog</a>
</li>
</ul>
</li>
<li class="collapsed">
<a href="../../docs/layouts.html" title="Layouts">Layouts</a>
</li>
<li class="none">
<a href="../../docs/filters.html" title="Filters">Filters</a>
</li>
<li class="none">
<a href="../../docs/renderers.html" title="Renderers">Renderers</a>
</li>
<li class="none">
<a href="../../apidocs/index.html" title="API documentation">API documentation</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-user"></i>Community</li>
<li class="none">
<a href="../../volunteering.html" title="Volunteering">Volunteering</a>
</li>
<li class="none">
<a href="../../contributingpatches.html" title="Contributing Patches">Contributing Patches</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/logging-log4php" class="external" target="_blank" title="Wiki">Wiki</a>
</li>
<li class="none">
<a href="http://blogs.apache.org/logging/" class="external" target="_blank" title="Blog">Blog</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Project Information</li>
<li class="none">
<a href="../../integration.html" title="Continuous Integration">Continuous Integration</a>
</li>
<li class="none">
<a href="../../source-repository.html" title="Source Repository">Source Repository</a>
</li>
<li class="none">
<a href="../../dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="none">
<a href="../../license.html" title="Project License">Project License</a>
</li>
<li class="none">
<a href="../../team-list.html" title="Project Team">Project Team</a>
</li>
<li class="none">
<a href="../../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="../../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
<li class="none">
<a href="../../changes-report.html" title="Changes Report">Changes Report</a>
</li>
<li class="none">
<a href="../../surefire-report.html" title="Surefire Report">Surefire Report</a>
</li>
<li class="none">
<a href="../../rat-report.html" title="RAT Report">RAT Report</a>
</li>
<li class="none">
<a href="../../coverage-report/index.html" title="Code Coverage">Code Coverage</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-heart"></i>Apache</li>
<li class="none">
<a href="http://www.apache.org" class="external" target="_blank" title="Home">Home</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/sponsorship.html" class="external" target="_blank" title="Sponsorship">Sponsorship</a>
</li>
<li class="none">
<a href="http://www.apache.org/licenses/" class="external" target="_blank" title="License">License</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/thanks.html" class="external" target="_blank" title="Thanks">Thanks</a>
</li>
<li class="none">
<a href="http://www.apachecon.com" class="external" target="_blank" title="Conferences">Conferences</a>
</li>
<li class="none">
<a href="http://www.apache.org/security/" class="external" target="_blank" title="Security">Security</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<!-- 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. -->
<div class="section"><h2>LoggerAppenderDailyFile<a name="LoggerAppenderDailyFile"></a></h2>
<p><tt>LoggerAppenderDailyFile</tt> writes logging events to a file which is rolled over depending on
the date/time of the logging event. By default, the file is rolled over daily, hence the appender name.
However, the appender can just as easily be configured to roll over once a month, or even every minute
if desired.</p>
<p>Unlike <tt>LoggerAppenderFile</tt>, the target file is not static, and can change during script
execution as the time passes. Destination file is determined by two parameters: <tt>file</tt> and
<tt>datePattern</tt>.</p>
<p>The path specified in the <tt>file</tt> parameter should contain the string <tt>%s</tt>.
Each time an event is logged, this string will be substituted with
the event's date/time formatted according to <tt>datePattern</tt> and the event will be logged to
the resulting file path.</p>
<p>The date/time is formatted according to format string specified in the <tt>datePattern</tt>
parameter. The format uses the same rules as the PHP <tt><a class="external" href="http://php.net/manual/en/function.date.php">date()</a></tt> function. Any format string supported
by <tt>date()</tt> function may be used as a date pattern.</p>
<div class="section"><h3>Layout<a name="Layout"></a></h3>
<p>This appender requires a layout. If no layout is specified in configuration,
<tt><a href="../layouts/simple.html">LoggerLayoutSimple</a></tt> will be used by default.</p>
</div>
<div class="section"><h3>Parameters<a name="Parameters"></a></h3>
<p>The following parameters are available:</p>
<table border="0" class="bodyTable">
<thead>
<tr class="a">
<th>Parameter</th>
<th>Type</th>
<th>Required</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="b">
<td>file</td>
<td>string</td>
<td><b>Yes</b></td>
<td>-</td>
<td>Path to the target file. Should contain a <tt>%s</tt> which gets substituted by the
date.</td>
</tr>
<tr class="a">
<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 class="b">
<td>datePattern</td>
<td>string</td>
<td>No</td>
<td>Ymd</td>
<td>Format for the date in the file path, follows formatting rules used by the PHP
<tt><a class="externalLink" href="http://php.net/manual/en/function.date.php">date()</a></tt> function.</td>
</tr>
</tbody>
</table>
</div>
<div class="section"><h3>Examples<a name="Examples"></a></h3>
<p>Consider the following configuration:</p>
<div class="auto-tabs">
<ul>
<li>XML</li>
<li>PHP</li>
</ul>
<div class="tab-content">
<div class="tab-pane">
<div><pre class="prettyprint linenums">
&lt;configuration xmlns=&quot;http://logging.apache.org/log4php/&quot;&gt;
&lt;appender name=&quot;default&quot; class=&quot;LoggerAppenderDailyFile&quot;&gt;
&lt;layout class=&quot;LoggerLayoutSimple&quot; /&gt;
&lt;param name=&quot;file&quot; value=&quot;file-%s.log&quot; /&gt;
&lt;param name=&quot;datePattern&quot; value=&quot;Y-m-d&quot; /&gt;
&lt;/appender&gt;
&lt;root&gt;
&lt;appender_ref ref=&quot;default&quot; /&gt;
&lt;/root&gt;
&lt;/configuration&gt;
</pre></div>
</div>
<div class="tab-pane">
<div><pre class="prettyprint linenums">
array(
'appenders' =&gt; array(
'default' =&gt; array(
'class' =&gt; 'LoggerAppenderDailyFile',
'layout' =&gt; array(
'class' =&gt; 'LoggerLayoutSimple',
),
'params' =&gt; array(
'datePattern' =&gt; 'Y-m-d',
'file' =&gt; 'file-%s.log',
),
),
),
'rootLogger' =&gt; array(
'appenders' =&gt; array('default'),
),
);
</pre></div>
</div>
</div>
</div>
<p>In this example, the date pattern is set to <tt>Y-m-d</tt> (year, month, day) and the target
file to <tt>daily.%s.log</tt>.</p>
<p>Each time this appender receives a logging event, it will:</p>
<ol style="list-style-type: decimal">
<li>Format the event date/time according to the configured date pattern. Let's say this sample
is run during 10th of July 2012, then the formatted date is <tt>2012-07-10</tt></li>
<li>Replace the <tt>%s</tt> in the filename with the formated date to get the target file.
In this case, the target file will be <tt>daily.2012-07-10.log</tt>.</li>
<li>Write to the target file.</li>
</ol>
<p>If you continue logging using the given configuration, the appender will continue to log to
<tt>daily.2012-07-10.log</tt>, until the date changes. At that point it will start logging to
<tt>daily.2012-07-11.log</tt>.</p>
<p>Similarly, date pattern <tt>Y-m</tt> will result in filenames like <tt>file-2012-07.log</tt>,
which will result in monthly rollover.</p>
<p>Hours, minutes and seconds can also be used. Pattern <tt>Y-m-d.H.i.s</tt> will result
in filenames similar to <tt>file-2012-07-03.10.37.15.log</tt>. In this case, a new file will be
created each second.</p>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &#169; 2012
<a href="http://www.apache.org">Apache Software Foundation</a>.
All Rights Reserved.
Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
Please read the <a href="../../privacy.html">Privacy policy</a></p>
<p>Apache log4php, Apache, log4php, the Apache feather logo, the Apache Logging Services project logo and the Built by
Maven logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a>. Icons from
<a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</body>
</html>