blob: 05f3257a8ab29d7bd1e921a001e42e0bbeb4a1da [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
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.
--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: TimeBasedRollingPolicy Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="nav">
<a class="el" href="namespacelog4cxx.html">log4cxx</a>::<a class="el" href="namespacelog4cxx_1_1rolling.html">rolling</a>::<a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a></div>
<h1>TimeBasedRollingPolicy Class Reference</h1><!-- doxytag: class="log4cxx::rolling::TimeBasedRollingPolicy" --><!-- doxytag: inherits="log4cxx::rolling::RollingPolicyBase,log4cxx::rolling::TriggeringPolicy" -->Inherits <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy_base.html">RollingPolicyBase</a>, and <a class="el" href="classlog4cxx_1_1rolling_1_1_triggering_policy.html">TriggeringPolicy</a>.
<p>
<a href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<code><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a></code> is both easy to configure and quite powerful.
<p>
In order to use <code><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a></code>, the <b>FileNamePattern</b> option must be set. It basically specifies the name of the rolled log files. The value <code>FileNamePattern</code> should consist of the name of the file, plus a suitably placed <code>d</code> conversion specifier. The <code>d</code> conversion specifier may contain a date and time pattern as specified by the <a class="el" href="classlog4cxx_1_1helpers_1_1_simple_date_format.html">log4cxx::helpers::SimpleDateFormat</a> class. If the date and time pattern is ommitted, then the default pattern of "yyyy-MM-dd" is assumed. The following examples should clarify the point.<p>
<table cellspacing="5px" border="1" cellpadding="3">
<tr>
<th><code>FileNamePattern</code> value </th><th>Rollover schedule </th><th>Example </th></tr>
<tr>
<td nowrap="true"><code>/wombat/folder/foo.d</code> </td><td>Daily rollover (at midnight). Due to the omission of the optional time and date pattern for the d token specifier, the default pattern of "yyyy-MM-dd" is assumed, which corresponds to daily rollover. </td><td>During November 23rd, 2004, logging output will go to the file <code>/wombat/foo.2004-11-23</code>. At midnight and for the rest of the 24th, logging output will be directed to <code>/wombat/foo.2004-11-24</code>. </td></tr>
<tr>
<td nowrap="true"><code>/wombat/foo.d{yyyy-MM}.log</code> </td><td>Rollover at the beginning of each month. </td><td>During the month of October 2004, logging output will go to <code>/wombat/foo.2004-10.log</code>. After midnight of October 31st and for the rest of November, logging output will be directed to <code>/wombat/foo.2004-11.log</code>. </td></tr>
</table>
<h2>Automatic file compression</h2>
<p>
<code><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a></code> supports automatic file compression. This feature is enabled if the value of the <b>FileNamePattern</b> option ends with <code>.gz</code> or <code>.zip</code>. <p>
<table cellspacing="5px" border="1" cellpadding="3">
<tr>
<th><code>FileNamePattern</code> value </th><th>Rollover schedule </th><th>Example </th></tr>
<tr>
<td nowrap="true"><code>/wombat/foo.d.gz</code> </td><td>Daily rollover (at midnight) with automatic GZIP compression of the arcived files. </td><td>During November 23rd, 2004, logging output will go to the file <code>/wombat/foo.2004-11-23</code>. However, at midnight that file will be compressed to become <code>/wombat/foo.2004-11-23.gz</code>. For the 24th of November, logging output will be directed to <code>/wombat/folder/foo.2004-11-24</code> until its rolled over at the beginning of the next day. </td></tr>
</table>
<p>
<h2>Decoupling the location of the active log file and the archived log files</h2>
<p>
The <em>active file</em> is defined as the log file for the current period whereas <em>archived files</em> are thos files which have been rolled over in previous periods.<p>
By setting the <b>ActiveFileName</b> option you can decouple the location of the active log file and the location of the archived log files. <p>
<table cellspacing="5px" border="1" cellpadding="3">
<tr>
<th><code>FileNamePattern</code> value </th><th>ActiveFileName </th><th>Rollover schedule </th><th>Example </th></tr>
<tr>
<td nowrap="true"><code>/wombat/foo.log.d</code> </td><td nowrap="true"><code>/wombat/foo.log</code> </td><td>Daily rollover.<p>
</td><td>During November 23rd, 2004, logging output will go to the file <code>/wombat/foo.log</code>. However, at midnight that file will archived as <code>/wombat/foo.log.2004-11-23</code>. For the 24th of November, logging output will be directed to <code>/wombat/folder/foo.log</code> until its archived as <code>/wombat/foo.log.2004-11-24</code> at the beginning of the next day. </td></tr>
</table>
<p>
If configuring programatically, do not forget to call <a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> method before using this policy. Moreover, <a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> of <code> <a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a></code> must be called <em>before</em> calling the <a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> method of the owning <code><a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_file_appender.html">RollingFileAppender</a></code>.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#68ca594f6401c4dc56917002a2156967">TimeBasedRollingPolicy</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#0198815940c2715c84b0e04828cf8dfa">addRef</a> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#55c31efee1904916b999395fa4d46a24">releaseRef</a> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activate the options that were previously set with calls to option setters. <a href="#580abdcb8fd42d07eaf679166f77bc34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RolloverDescriptionPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#d4ac5703c681be358b76451b43be061b">initialize</a> (const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;file, const bool append, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;pool)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the policy and return any initial actions for rolling file appender. <a href="#d4ac5703c681be358b76451b43be061b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RolloverDescriptionPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#5bb7ddc8d690804f8865f2c780e82706">rollover</a> (const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;activeFile, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;pool)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare for a rollover. <a href="#5bb7ddc8d690804f8865f2c780e82706"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#d1465d1456055bf68fc9c3a7416bb862">isTriggeringEvent</a> (<a class="el" href="classlog4cxx_1_1_appender.html">Appender</a> *appender, const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::LoggingEventPtr</a> &amp;event, const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;filename, size_t fileLength)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if a rollover may be appropriate at this time. <a href="#d1465d1456055bf68fc9c3a7416bb862"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacelog4cxx_1_1pattern.html#f3e2bcdd3fe2edd7071727492a4efa7d">log4cxx::pattern::PatternMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html#3a480a46e679ec1f28872451b34d5727">getFormatSpecifiers</a> () const </td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="68ca594f6401c4dc56917002a2156967"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::TimeBasedRollingPolicy" ref="68ca594f6401c4dc56917002a2156967" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1rolling_1_1_time_based_rolling_policy.html">TimeBasedRollingPolicy</a> </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="580abdcb8fd42d07eaf679166f77bc34"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::activateOptions" ref="580abdcb8fd42d07eaf679166f77bc34" args="(log4cxx::helpers::Pool &amp;)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void activateOptions </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Activate the options that were previously set with calls to option setters.
<p>
This allows to defer activiation of the options until all options have been set. This is required for components which have related options that remain ambigous until all are set.<p>
For example, the <a class="el" href="classlog4cxx_1_1_file_appender.html">FileAppender</a> has the <a class="el" href="classlog4cxx_1_1_file_appender.html#6a6c98222ccf2072dad5a434f9336930">File</a> and <a class="el" href="classlog4cxx_1_1_file_appender.html#78ebca211ceb3a0b2960a48092089906">Append</a> options both of which are ambigous until the other is also set.
<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy_base.html#f04d4bfbd66b46083b1aa042fdafbb06">RollingPolicyBase</a>. </td>
</tr>
</table>
<a class="anchor" name="0198815940c2715c84b0e04828cf8dfa"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::addRef" ref="0198815940c2715c84b0e04828cf8dfa" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void addRef </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<p>
Reimplemented from <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy_base.html#0198815940c2715c84b0e04828cf8dfa">RollingPolicyBase</a>. </td>
</tr>
</table>
<a class="anchor" name="3a480a46e679ec1f28872451b34d5727"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::getFormatSpecifiers" ref="3a480a46e679ec1f28872451b34d5727" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="namespacelog4cxx_1_1pattern.html#f3e2bcdd3fe2edd7071727492a4efa7d">log4cxx::pattern::PatternMap</a> getFormatSpecifiers </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [protected, virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy_base.html#bbd1d9f66dd437e9e0c7afa027577373">RollingPolicyBase</a>. </td>
</tr>
</table>
<a class="anchor" name="d4ac5703c681be358b76451b43be061b"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::initialize" ref="d4ac5703c681be358b76451b43be061b" args="(const LogString &amp;file, const bool append, log4cxx::helpers::Pool &amp;pool)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">RolloverDescriptionPtr initialize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>file</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const bool&nbsp;</td>
<td class="mdname" nowrap> <em>append</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>pool</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Initialize the policy and return any initial actions for rolling file appender.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>current value of <a class="el" href="classlog4cxx_1_1_file_appender.html#fdf1897af9ae5c70308224d3a7d8f339">RollingFileAppender.getFile()</a>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>current value of <a class="el" href="classlog4cxx_1_1_file_appender.html#f8cb171146140874fb651ca95e142805">RollingFileAppender.getAppend()</a>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>pool for any required allocations. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Description of the initialization, may be null to indicate no initialization needed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>SecurityException</em>&nbsp;</td><td>if denied access to log files. </td></tr>
</table>
</dl>
<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy.html#4634e26c0c4a14ee56944460d31f973c">RollingPolicy</a>. </td>
</tr>
</table>
<a class="anchor" name="d1465d1456055bf68fc9c3a7416bb862"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::isTriggeringEvent" ref="d1465d1456055bf68fc9c3a7416bb862" args="(Appender *appender, const log4cxx::spi::LoggingEventPtr &amp;event, const LogString &amp;filename, size_t fileLength)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">virtual bool isTriggeringEvent </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1_appender.html">Appender</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>appender</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::LoggingEventPtr</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>event</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>filename</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>size_t&nbsp;</td>
<td class="mdname" nowrap> <em>fileLength</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Determines if a rollover may be appropriate at this time.
<p>
If true is returned, RolloverPolicy.rollover will be called but it can determine that a rollover is not warranted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>appender</em>&nbsp;</td><td>A reference to the appender. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>A reference to the currently event. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename for the currently active log file. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fileLength</em>&nbsp;</td><td>Length of the file in bytes. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if a rollover should occur. </dd></dl>
<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_triggering_policy.html#a5300801d20e51d71952b221872458ec">TriggeringPolicy</a>. </td>
</tr>
</table>
<a class="anchor" name="55c31efee1904916b999395fa4d46a24"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::releaseRef" ref="55c31efee1904916b999395fa4d46a24" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void releaseRef </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<p>
Reimplemented from <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy_base.html#55c31efee1904916b999395fa4d46a24">RollingPolicyBase</a>. </td>
</tr>
</table>
<a class="anchor" name="5bb7ddc8d690804f8865f2c780e82706"></a><!-- doxytag: member="log4cxx::rolling::TimeBasedRollingPolicy::rollover" ref="5bb7ddc8d690804f8865f2c780e82706" args="(const LogString &amp;activeFile, log4cxx::helpers::Pool &amp;pool)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">RolloverDescriptionPtr rollover </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>activeFile</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>pool</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Prepare for a rollover.
<p>
This method is called prior to closing the active log file, performs any necessary preliminary actions and describes actions needed after close of current log file.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>activeFile</em>&nbsp;</td><td>file name for current active log file. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>pool for any required allocations. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Description of pending rollover, may be null to indicate no rollover at this time. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>SecurityException</em>&nbsp;</td><td>if denied access to log files. </td></tr>
</table>
</dl>
<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_policy.html#2d1f466b08f4b4fe3f30ef00be9e0fbf">RollingPolicy</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="timebasedrollingpolicy_8h.html">timebasedrollingpolicy.h</a></ul>
<!--
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.
-->
</BODY>
</HTML>