blob: 03a65cb7e84abda7ed56fe48f5408574417cb134 [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: FilterBasedTriggeringPolicy 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_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a></div>
<h1>FilterBasedTriggeringPolicy Class Reference</h1><!-- doxytag: class="log4cxx::rolling::FilterBasedTriggeringPolicy" --><!-- doxytag: inherits="log4cxx::rolling::TriggeringPolicy" -->Inherits <a class="el" href="classlog4cxx_1_1rolling_1_1_triggering_policy.html">TriggeringPolicy</a>.
<p>
<a href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a> determines if rolling should be triggered by evaluating the current message against a set of filters.
<p>
Unless a filter rejects a message, a rolling event will be triggered.
<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_filter_based_triggering_policy.html#af3e77de832f2ef5db4e68de40a920b9">FilterBasedTriggeringPolicy</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>. <a href="#af3e77de832f2ef5db4e68de40a920b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#9a4408e6bd6cd33ca593973320d837be">~FilterBasedTriggeringPolicy</a> ()</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_filter_based_triggering_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 class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#da19905858e5b9a93c3d1be8eb2ddc1a">addFilter</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;newFilter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a filter to end of the filter list. <a href="#da19905858e5b9a93c3d1be8eb2ddc1a"></a><br></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_filter_based_triggering_policy.html#f13013b8fd73be124730ec9f299c234d">clearFilters</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the filters chain. <a href="#f13013b8fd73be124730ec9f299c234d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#6a90013a38556ee8d85664ec59fc7890">getFilter</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the head Filter. <a href="#6a90013a38556ee8d85664ec59fc7890"></a><br></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_filter_based_triggering_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">Prepares the instance for use. <a href="#580abdcb8fd42d07eaf679166f77bc34"></a><br></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_filter_based_triggering_policy.html#c1d269357907e0809687a2bec962e1c8">setOption</a> (const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;option, const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set <code>option</code> to <code>value</code>. <a href="#c1d269357907e0809687a2bec962e1c8"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="af3e77de832f2ef5db4e68de40a920b9"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::FilterBasedTriggeringPolicy" ref="af3e77de832f2ef5db4e68de40a920b9" 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_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</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>
Creates a new <a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>.
<p>
</td>
</tr>
</table>
<a class="anchor" name="9a4408e6bd6cd33ca593973320d837be"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::~FilterBasedTriggeringPolicy" ref="9a4408e6bd6cd33ca593973320d837be" 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">virtual ~<a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</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><code> [virtual]</code></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::FilterBasedTriggeringPolicy::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>
Prepares the instance for use.
<p>
<p>
Implements <a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html#f04d4bfbd66b46083b1aa042fdafbb06">OptionHandler</a>. </td>
</tr>
</table>
<a class="anchor" name="da19905858e5b9a93c3d1be8eb2ddc1a"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::addFilter" ref="da19905858e5b9a93c3d1be8eb2ddc1a" args="(const log4cxx::spi::FilterPtr &amp;newFilter)" --><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 addFilter </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>newFilter</em> </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>
Add a filter to end of the filter list.
<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>newFilter</em>&nbsp;</td><td>filter to add to end of list. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="f13013b8fd73be124730ec9f299c234d"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::clearFilters" ref="f13013b8fd73be124730ec9f299c234d" 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">void clearFilters </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>
Clear the filters chain.
<p>
</td>
</tr>
</table>
<a class="anchor" name="6a90013a38556ee8d85664ec59fc7890"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::getFilter" ref="6a90013a38556ee8d85664ec59fc7890" 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_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a>&amp; getFilter </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>
Returns the head Filter.
<p>
</td>
</tr>
</table>
<a class="anchor" name="d1465d1456055bf68fc9c3a7416bb862"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::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="c1d269357907e0809687a2bec962e1c8"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::setOption" ref="c1d269357907e0809687a2bec962e1c8" args="(const LogString &amp;option, const LogString &amp;value)" --><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 setOption </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>option</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>value</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>
Set <code>option</code> to <code>value</code>.
<p>
The handling of each option depends on the OptionHandler instance. Some options may become active immediately whereas other may be activated only when <a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> is called.
<p>
Implements <a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html#8f2ae2ded63f80c627269c99b20c19ee">OptionHandler</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="filterbasedtriggeringpolicy_8h.html">filterbasedtriggeringpolicy.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>