logging-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From carn...@apache.org
Subject svn commit: r569257 [14/18] - in /logging/site/trunk/docs/log4j/companions/extras: ./ apidocs/ apidocs/org/apache/log4j/ apidocs/org/apache/log4j/class-use/ apidocs/org/apache/log4j/extras/ apidocs/org/apache/log4j/extras/class-use/ apidocs/org/apache/...
Date Fri, 24 Aug 2007 05:43:56 GMT
Added: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-frame.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-frame.html?rev=569257&view=auto
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-frame.html (added)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-frame.html Thu Aug 23 22:43:39 2007
@@ -0,0 +1,24 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.extras</title>
+		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+        	<a href="package-summary.html" target="classFrame">org.apache.log4j.extras</a>
+      	</h3>
+
+      	<h3>Classes</h3>
+
+      	<ul>
+      		          	<li>
+            	<a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a>
+          	</li>
+          	      	</ul>
+
+	</body>
+</html>
\ No newline at end of file

Propchange: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-frame.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-summary.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-summary.html?rev=569257&view=auto
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-summary.html (added)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-summary.html Thu Aug 23 22:43:39 2007
@@ -0,0 +1,67 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title>
+		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+		
+		      	<h2>Package org.apache.log4j.extras</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Class Summary</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+        		            	<tr>
+              		<td>
+                		<a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a>
+              		</td>
+            	</tr>
+				        	</tbody>
+      	</table>
+		
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+				<hr />
+		Copyright &copy; null Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file

Propchange: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/extras/package-summary.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/AndFilter.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/AndFilter.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/AndFilter.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/AndFilter.html Thu Aug 23 22:43:39 2007
@@ -30,122 +30,123 @@
 <a name="21" href="#21">21</a>  <strong>import</strong> org.apache.log4j.spi.LoggingEvent;
 <a name="22" href="#22">22</a>  <strong>import</strong> org.apache.log4j.spi.OptionHandler;
 <a name="23" href="#23">23</a>  <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler;
-<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.log4j.rolling.RollingConfigurator;
-<a name="25" href="#25">25</a>  <strong>import</strong> org.w3c.dom.Element;
-<a name="26" href="#26">26</a>  
-<a name="27" href="#27">27</a>  <strong>import</strong> java.util.Properties;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.w3c.dom.Element;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Properties;
+<a name="27" href="#27">27</a>  
 <a name="28" href="#28">28</a>  
-<a name="29" href="#29">29</a>  
-<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
-<a name="31" href="#31">31</a>  <em> * A filter that 'and's the results of any number of contained filters together.</em>
-<a name="32" href="#32">32</a>  <em> * </em>
-<a name="33" href="#33">33</a>  <em> * For the filter to process events, all contained filters must return Filter.ACCEPT.</em>
-<a name="34" href="#34">34</a>  <em> * </em>
-<a name="35" href="#35">35</a>  <em> * If the contained filters do not return Filter.ACCEPT, Filter.NEUTRAL is returned.</em>
-<a name="36" href="#36">36</a>  <em> * </em>
-<a name="37" href="#37">37</a>  <em> * If acceptOnMatch is set to true, Filter.ACCEPT is returned.</em>
-<a name="38" href="#38">38</a>  <em> * If acceptOnMatch is set to false, Filter.DENY is returned.</em>
-<a name="39" href="#39">39</a>  <em> * </em>
-<a name="40" href="#40">40</a>  <em> * Here is an example config that will accept only events that contain BOTH</em>
-<a name="41" href="#41">41</a>  <em> * a DEBUG level AND 'test' in the message:</em>
-<a name="42" href="#42">42</a>  <em> * </em>
-<a name="43" href="#43">43</a>  <em> *&lt;appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"></em>
-<a name="44" href="#44">44</a>  <em> * &lt;filter class="org.apache.log4j.filter.AndFilter"></em>
-<a name="45" href="#45">45</a>  <em> *  &lt;filter class="org.apache.log4j.filter.LevelMatchFilter"></em>
-<a name="46" href="#46">46</a>  <em> *        &lt;param name="levelToMatch" value="DEBUG" /></em>
-<a name="47" href="#47">47</a>  <em> *        &lt;param name="acceptOnMatch" value="true" /></em>
-<a name="48" href="#48">48</a>  <em> *  &lt;/filter></em>
-<a name="49" href="#49">49</a>  <em> *  &lt;filter class="org.apache.log4j.filter.StringMatchFilter"></em>
-<a name="50" href="#50">50</a>  <em> *        &lt;param name="stringToMatch" value="test" /></em>
-<a name="51" href="#51">51</a>  <em> *        &lt;param name="acceptOnMatch" value="true" /></em>
-<a name="52" href="#52">52</a>  <em> *  &lt;/filter></em>
-<a name="53" href="#53">53</a>  <em> *  &lt;param name="acceptOnMatch" value="false"/></em>
-<a name="54" href="#54">54</a>  <em> * &lt;/filter></em>
-<a name="55" href="#55">55</a>  <em> * &lt;filter class="org.apache.log4j.filter.DenyAllFilter"/></em>
-<a name="56" href="#56">56</a>  <em> *&lt;layout class="org.apache.log4j.SimpleLayout"/></em>
-<a name="57" href="#57">57</a>  <em> *&lt;/appender></em>
-<a name="58" href="#58">58</a>  <em> * </em>
-<a name="59" href="#59">59</a>  <em> * To accept all events EXCEPT those events that contain a </em>
-<a name="60" href="#60">60</a>  <em> * DEBUG level and 'test' in the message: </em>
-<a name="61" href="#61">61</a>  <em> * change the AndFilter's acceptOnMatch param to false and remove the DenyAllFilter</em>
-<a name="62" href="#62">62</a>  <em> * </em>
-<a name="63" href="#63">63</a>  <em> * NOTE: If you are defining a filter that is only relying on logging event content </em>
-<a name="64" href="#64">64</a>  <em> * (no external or filter-managed state), you could opt instead</em>
-<a name="65" href="#65">65</a>  <em> * to use an ExpressionFilter with one of the following expressions:</em>
-<a name="66" href="#66">66</a>  <em> * </em>
-<a name="67" href="#67">67</a>  <em> * LEVEL == DEBUG &amp;&amp; MSG ~= 'test'</em>
-<a name="68" href="#68">68</a>  <em> * or</em>
-<a name="69" href="#69">69</a>  <em> * ! ( LEVEL == DEBUG &amp;&amp; MSG ~= 'test' )</em>
-<a name="70" href="#70">70</a>  <em> *</em>
-<a name="71" href="#71">71</a>  <em> * XML configuration of this filter requires use of either log4j 1.2.15 or later or</em>
-<a name="72" href="#72">72</a>  <em> * org.apache.log4j.rolling.RollingConfigurator.</em>
-<a name="73" href="#73">73</a>  <em> *</em>
-<a name="74" href="#74">74</a>  <em> * @author Scott Deboy sdeboy@apache.org</em>
-<a name="75" href="#75">75</a>  <em> */</em>
-<a name="76" href="#76">76</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/AndFilter.html">AndFilter</a> <strong>extends</strong> Filter implements <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> {
-<a name="77" href="#77">77</a>    Filter headFilter = <strong>null</strong>;
-<a name="78" href="#78">78</a>    Filter tailFilter = <strong>null</strong>;
-<a name="79" href="#79">79</a>    <strong>boolean</strong> acceptOnMatch = <strong>true</strong>;
-<a name="80" href="#80">80</a>    
-<a name="81" href="#81">81</a>    <strong>public</strong> <strong>void</strong> activateOptions() {
-<a name="82" href="#82">82</a>    }
-<a name="83" href="#83">83</a>  
-<a name="84" href="#84">84</a>    <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter filter) {
-<a name="85" href="#85">85</a>      System.out.println(<span class="string">"add"</span>+filter);
-<a name="86" href="#86">86</a>      <strong>if</strong> (headFilter == <strong>null</strong>) {
-<a name="87" href="#87">87</a>        headFilter = filter;
-<a name="88" href="#88">88</a>        tailFilter = filter;
-<a name="89" href="#89">89</a>      } <strong>else</strong> {
-<a name="90" href="#90">90</a>        tailFilter.next = filter;
-<a name="91" href="#91">91</a>      }
-<a name="92" href="#92">92</a>    }
-<a name="93" href="#93">93</a>    
-<a name="94" href="#94">94</a>    <strong>public</strong> <strong>void</strong> setAcceptOnMatch(<strong>final</strong> <strong>boolean</strong> acceptOnMatch) {
-<a name="95" href="#95">95</a>      <strong>this</strong>.acceptOnMatch = acceptOnMatch;
-<a name="96" href="#96">96</a>    }
-<a name="97" href="#97">97</a>    <em>/**<em>*</em></em>
-<a name="98" href="#98">98</a>  <em>   * If this event does not already contain location information, </em>
-<a name="99" href="#99">99</a>  <em>   * evaluate the event against the expression.</em>
-<a name="100" href="#100">100</a> <em>   * </em>
-<a name="101" href="#101">101</a> <em>   * If the expression evaluates to true, generate a LocationInfo instance </em>
-<a name="102" href="#102">102</a> <em>   * by creating an exception and set this LocationInfo on the event.</em>
-<a name="103" href="#103">103</a> <em>   * </em>
-<a name="104" href="#104">104</a> <em>   * Returns {@link Filter#NEUTRAL}</em>
-<a name="105" href="#105">105</a> <em>   */</em>
-<a name="106" href="#106">106</a>   <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) {
-<a name="107" href="#107">107</a>     <strong>boolean</strong> accepted = <strong>true</strong>;
-<a name="108" href="#108">108</a>     Filter f = headFilter;
-<a name="109" href="#109">109</a>     <strong>while</strong> (f != <strong>null</strong>) {
-<a name="110" href="#110">110</a>       accepted = accepted &amp;&amp; (Filter.ACCEPT == f.decide(event));
-<a name="111" href="#111">111</a>       f = f.next;
-<a name="112" href="#112">112</a>     }
-<a name="113" href="#113">113</a>     <strong>if</strong> (accepted) {
-<a name="114" href="#114">114</a>       <strong>if</strong>(acceptOnMatch) {
-<a name="115" href="#115">115</a>         <strong>return</strong> Filter.ACCEPT;
-<a name="116" href="#116">116</a>       }
-<a name="117" href="#117">117</a>        <strong>return</strong> Filter.DENY;
-<a name="118" href="#118">118</a>     }
-<a name="119" href="#119">119</a>     <strong>return</strong> Filter.NEUTRAL;
-<a name="120" href="#120">120</a>   }
-<a name="121" href="#121">121</a> 
-<a name="122" href="#122">122</a>     <em>/**<em>*</em></em>
-<a name="123" href="#123">123</a> <em>     * {@inheritDoc}</em>
-<a name="124" href="#124">124</a> <em>     */</em>
-<a name="125" href="#125">125</a>   <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element,
-<a name="126" href="#126">126</a>                                           <strong>final</strong> Properties props) throws Exception {
-<a name="127" href="#127">127</a>       <strong>final</strong> String nodeName = element.getNodeName();
-<a name="128" href="#128">128</a>       <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) {
-<a name="129" href="#129">129</a>           OptionHandler filter = RollingConfigurator.parseElement(element, props, Filter.<strong>class</strong>);
-<a name="130" href="#130">130</a>           <strong>if</strong> (filter instanceof Filter) {
-<a name="131" href="#131">131</a>               filter.activateOptions();
-<a name="132" href="#132">132</a>               <strong>this</strong>.addFilter((Filter) filter);
-<a name="133" href="#133">133</a>           }
-<a name="134" href="#134">134</a>           <strong>return</strong> <strong>true</strong>;
-<a name="135" href="#135">135</a>       }
-<a name="136" href="#136">136</a>       <strong>return</strong> false;
-<a name="137" href="#137">137</a>   }
-<a name="138" href="#138">138</a> 
-<a name="139" href="#139">139</a> }
+<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em> * A filter that 'and's the results of any number of contained filters together.</em>
+<a name="31" href="#31">31</a>  <em> * </em>
+<a name="32" href="#32">32</a>  <em> * For the filter to process events, all contained filters must return Filter.ACCEPT.</em>
+<a name="33" href="#33">33</a>  <em> * </em>
+<a name="34" href="#34">34</a>  <em> * If the contained filters do not return Filter.ACCEPT, Filter.NEUTRAL is returned.</em>
+<a name="35" href="#35">35</a>  <em> * </em>
+<a name="36" href="#36">36</a>  <em> * If acceptOnMatch is set to true, Filter.ACCEPT is returned.</em>
+<a name="37" href="#37">37</a>  <em> * If acceptOnMatch is set to false, Filter.DENY is returned.</em>
+<a name="38" href="#38">38</a>  <em> * </em>
+<a name="39" href="#39">39</a>  <em> * Here is an example config that will accept only events that contain BOTH</em>
+<a name="40" href="#40">40</a>  <em> * a DEBUG level AND 'test' in the message:</em>
+<a name="41" href="#41">41</a>  <em> * </em>
+<a name="42" href="#42">42</a>  <em> *&lt;appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"></em>
+<a name="43" href="#43">43</a>  <em> * &lt;filter class="org.apache.log4j.filter.AndFilter"></em>
+<a name="44" href="#44">44</a>  <em> *  &lt;filter class="org.apache.log4j.filter.LevelMatchFilter"></em>
+<a name="45" href="#45">45</a>  <em> *        &lt;param name="levelToMatch" value="DEBUG" /></em>
+<a name="46" href="#46">46</a>  <em> *        &lt;param name="acceptOnMatch" value="true" /></em>
+<a name="47" href="#47">47</a>  <em> *  &lt;/filter></em>
+<a name="48" href="#48">48</a>  <em> *  &lt;filter class="org.apache.log4j.filter.StringMatchFilter"></em>
+<a name="49" href="#49">49</a>  <em> *        &lt;param name="stringToMatch" value="test" /></em>
+<a name="50" href="#50">50</a>  <em> *        &lt;param name="acceptOnMatch" value="true" /></em>
+<a name="51" href="#51">51</a>  <em> *  &lt;/filter></em>
+<a name="52" href="#52">52</a>  <em> *  &lt;param name="acceptOnMatch" value="false"/></em>
+<a name="53" href="#53">53</a>  <em> * &lt;/filter></em>
+<a name="54" href="#54">54</a>  <em> * &lt;filter class="org.apache.log4j.filter.DenyAllFilter"/></em>
+<a name="55" href="#55">55</a>  <em> *&lt;layout class="org.apache.log4j.SimpleLayout"/></em>
+<a name="56" href="#56">56</a>  <em> *&lt;/appender></em>
+<a name="57" href="#57">57</a>  <em> * </em>
+<a name="58" href="#58">58</a>  <em> * To accept all events EXCEPT those events that contain a </em>
+<a name="59" href="#59">59</a>  <em> * DEBUG level and 'test' in the message: </em>
+<a name="60" href="#60">60</a>  <em> * change the AndFilter's acceptOnMatch param to false and remove the DenyAllFilter</em>
+<a name="61" href="#61">61</a>  <em> * </em>
+<a name="62" href="#62">62</a>  <em> * NOTE: If you are defining a filter that is only relying on logging event content </em>
+<a name="63" href="#63">63</a>  <em> * (no external or filter-managed state), you could opt instead</em>
+<a name="64" href="#64">64</a>  <em> * to use an ExpressionFilter with one of the following expressions:</em>
+<a name="65" href="#65">65</a>  <em> * </em>
+<a name="66" href="#66">66</a>  <em> * LEVEL == DEBUG &amp;&amp; MSG ~= 'test'</em>
+<a name="67" href="#67">67</a>  <em> * or</em>
+<a name="68" href="#68">68</a>  <em> * ! ( LEVEL == DEBUG &amp;&amp; MSG ~= 'test' )</em>
+<a name="69" href="#69">69</a>  <em> *</em>
+<a name="70" href="#70">70</a>  <em> * XML configuration of this filter requires use of either log4j 1.2.15 or later or</em>
+<a name="71" href="#71">71</a>  <em> * org.apache.log4j.rolling.DOMConfigurator.</em>
+<a name="72" href="#72">72</a>  <em> *</em>
+<a name="73" href="#73">73</a>  <em> * @author Scott Deboy sdeboy@apache.org</em>
+<a name="74" href="#74">74</a>  <em> */</em>
+<a name="75" href="#75">75</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/AndFilter.html">AndFilter</a> <strong>extends</strong> Filter implements <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> {
+<a name="76" href="#76">76</a>    Filter headFilter = <strong>null</strong>;
+<a name="77" href="#77">77</a>    Filter tailFilter = <strong>null</strong>;
+<a name="78" href="#78">78</a>    <strong>boolean</strong> acceptOnMatch = <strong>true</strong>;
+<a name="79" href="#79">79</a>    
+<a name="80" href="#80">80</a>    <strong>public</strong> <strong>void</strong> activateOptions() {
+<a name="81" href="#81">81</a>    }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>    <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter filter) {
+<a name="84" href="#84">84</a>      System.out.println(<span class="string">"add"</span>+filter);
+<a name="85" href="#85">85</a>      <strong>if</strong> (headFilter == <strong>null</strong>) {
+<a name="86" href="#86">86</a>        headFilter = filter;
+<a name="87" href="#87">87</a>        tailFilter = filter;
+<a name="88" href="#88">88</a>      } <strong>else</strong> {
+<a name="89" href="#89">89</a>        tailFilter.next = filter;
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>    }
+<a name="92" href="#92">92</a>    
+<a name="93" href="#93">93</a>    <strong>public</strong> <strong>void</strong> setAcceptOnMatch(<strong>final</strong> <strong>boolean</strong> acceptOnMatch) {
+<a name="94" href="#94">94</a>      <strong>this</strong>.acceptOnMatch = acceptOnMatch;
+<a name="95" href="#95">95</a>    }
+<a name="96" href="#96">96</a>    <em>/**<em>*</em></em>
+<a name="97" href="#97">97</a>  <em>   * If this event does not already contain location information, </em>
+<a name="98" href="#98">98</a>  <em>   * evaluate the event against the expression.</em>
+<a name="99" href="#99">99</a>  <em>   * </em>
+<a name="100" href="#100">100</a> <em>   * If the expression evaluates to true, generate a LocationInfo instance </em>
+<a name="101" href="#101">101</a> <em>   * by creating an exception and set this LocationInfo on the event.</em>
+<a name="102" href="#102">102</a> <em>   * </em>
+<a name="103" href="#103">103</a> <em>   * Returns {@link Filter#NEUTRAL}</em>
+<a name="104" href="#104">104</a> <em>   */</em>
+<a name="105" href="#105">105</a>   <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) {
+<a name="106" href="#106">106</a>     <strong>boolean</strong> accepted = <strong>true</strong>;
+<a name="107" href="#107">107</a>     Filter f = headFilter;
+<a name="108" href="#108">108</a>     <strong>while</strong> (f != <strong>null</strong>) {
+<a name="109" href="#109">109</a>       accepted = accepted &amp;&amp; (Filter.ACCEPT == f.decide(event));
+<a name="110" href="#110">110</a>       f = f.next;
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a>     <strong>if</strong> (accepted) {
+<a name="113" href="#113">113</a>       <strong>if</strong>(acceptOnMatch) {
+<a name="114" href="#114">114</a>         <strong>return</strong> Filter.ACCEPT;
+<a name="115" href="#115">115</a>       }
+<a name="116" href="#116">116</a>        <strong>return</strong> Filter.DENY;
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a>     <strong>return</strong> Filter.NEUTRAL;
+<a name="119" href="#119">119</a>   }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * {@inheritDoc}</em>
+<a name="123" href="#123">123</a> <em>     */</em>
+<a name="124" href="#124">124</a>   <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element,
+<a name="125" href="#125">125</a>                                           <strong>final</strong> Properties props) throws Exception {
+<a name="126" href="#126">126</a>       <strong>final</strong> String nodeName = element.getNodeName();
+<a name="127" href="#127">127</a>       <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) {
+<a name="128" href="#128">128</a>           OptionHandler filter =
+<a name="129" href="#129">129</a>                   org.apache.log4j.extras.DOMConfigurator.parseElement(
+<a name="130" href="#130">130</a>                           element, props, Filter.<strong>class</strong>);
+<a name="131" href="#131">131</a>           <strong>if</strong> (filter instanceof Filter) {
+<a name="132" href="#132">132</a>               filter.activateOptions();
+<a name="133" href="#133">133</a>               <strong>this</strong>.addFilter((Filter) filter);
+<a name="134" href="#134">134</a>           }
+<a name="135" href="#135">135</a>           <strong>return</strong> <strong>true</strong>;
+<a name="136" href="#136">136</a>       }
+<a name="137" href="#137">137</a>       <strong>return</strong> false;
+<a name="138" href="#138">138</a>   }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/ExpressionFilter.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/ExpressionFilter.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/ExpressionFilter.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/ExpressionFilter.html Thu Aug 23 22:43:39 2007
@@ -58,7 +58,7 @@
 <a name="49" href="#49">49</a>  <em> * infomsg-45 or infomsg-44 in the message,</em>
 <a name="50" href="#50">50</a>  <em> * as well as all messages with a level of WARN or higher,</em>
 <a name="51" href="#51">51</a>  <em> * build an expression using</em>
-<a name="52" href="#52">52</a>  <em> * the LikeRule (supports ORO-based regular expressions) and the InequalityRule.</em>
+<a name="52" href="#52">52</a>  <em> * the LikeRule (supports java.util.regex based regular expressions) and the InequalityRule.</em>
 <a name="53" href="#53">53</a>  <em> * &lt;b> ( MSG LIKE infomsg-4[4,5] ) &amp;&amp; ( LEVEL >= WARN ) &lt;/b></em>
 <a name="54" href="#54">54</a>  <em> * &lt;p/></em>
 <a name="55" href="#55">55</a>  <em> * Three options are required:</em>

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/LoggerMatchFilter.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/LoggerMatchFilter.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/LoggerMatchFilter.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/LoggerMatchFilter.html Thu Aug 23 22:43:39 2007
@@ -43,7 +43,7 @@
 <a name="34" href="#34">34</a>  <em>   org.apache.log4j.spi.Filter#NEUTRAL} is returned.  A loggerToMatch of "root"</em>
 <a name="35" href="#35">35</a>  <em>   matches both the root logger and a logger named "root".</em>
 <a name="36" href="#36">36</a>  
-<a name="37" href="#37">37</a>  <em>   @since 1.3 */</em>
+<a name="37" href="#37">37</a>  <em>   */</em>
 <a name="38" href="#38">38</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/LoggerMatchFilter.html">LoggerMatchFilter</a> <strong>extends</strong> Filter {
 <a name="39" href="#39">39</a>    <em>/**<em>*</em></em>
 <a name="40" href="#40">40</a>  <em>     Do we return ACCEPT when a match occurs. Default is</em>

Added: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/TimeFilter.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/TimeFilter.html?rev=569257&view=auto
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/TimeFilter.html (added)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/TimeFilter.html Thu Aug 23 22:43:39 2007
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimeFilter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/TimeFilter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
+<a name="3" href="#3">3</a>   <em class="comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * this work for additional information regarding copyright ownership.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
+<a name="6" href="#6">6</a>   <em class="comment"> * (the "License"); you may not use this file except in compliance with</em>
+<a name="7" href="#7">7</a>   <em class="comment"> * the License.  You may obtain a copy of the License at</em>
+<a name="8" href="#8">8</a>   <em class="comment"> *</em>
+<a name="9" href="#9">9</a>   <em class="comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
+<a name="10" href="#10">10</a>  <em class="comment"> *</em>
+<a name="11" href="#11">11</a>  <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em>
+<a name="12" href="#12">12</a>  <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
+<a name="13" href="#13">13</a>  <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
+<a name="14" href="#14">14</a>  <em class="comment"> * See the License for the specific language governing permissions and</em>
+<a name="15" href="#15">15</a>  <em class="comment"> * limitations under the License.</em>
+<a name="16" href="#16">16</a>  <em class="comment"> */</em>
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>package</strong> org.apache.log4j.filter;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.apache.log4j.helpers.LogLog;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.apache.log4j.spi.Filter;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.apache.log4j.spi.LoggingEvent;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong>import</strong> java.text.ParseException;
+<a name="25" href="#25">25</a>  <strong>import</strong> java.text.SimpleDateFormat;
+<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Calendar;
+<a name="27" href="#27">27</a>  <strong>import</strong> java.util.TimeZone;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em> * Filters events that fall within a specified time period</em>
+<a name="31" href="#31">31</a>  <em> * in each day.</em>
+<a name="32" href="#32">32</a>  <em> *</em>
+<a name="33" href="#33">33</a>  <em>*/</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/TimeFilter.html">TimeFilter</a> <strong>extends</strong> Filter {
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>    <strong>private</strong> <strong>boolean</strong> acceptOnMatch;
+<a name="37" href="#37">37</a>      <em>/**<em>*</em></em>
+<a name="38" href="#38">38</a>  <em>     * Starting offset from midnight in milliseconds.</em>
+<a name="39" href="#39">39</a>  <em>     */</em>
+<a name="40" href="#40">40</a>    <strong>private</strong> <strong>long</strong> start;
+<a name="41" href="#41">41</a>      <em>/**<em>*</em></em>
+<a name="42" href="#42">42</a>  <em>     * Ending offset from midnight in milliseconds.</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>    <strong>private</strong> <strong>long</strong> end;
+<a name="45" href="#45">45</a>      <em>/**<em>*</em></em>
+<a name="46" href="#46">46</a>  <em>     * Timezone.</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>    <strong>private</strong> Calendar calendar;
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
+<a name="52" href="#52">52</a>  <em>     * Length of hour in milliseconds.</em>
+<a name="53" href="#53">53</a>  <em>     */</em>
+<a name="54" href="#54">54</a>    <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> HOUR_MS = 3600000;
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * Length of minute in milliseconds.</em>
+<a name="58" href="#58">58</a>  <em>     */</em>
+<a name="59" href="#59">59</a>    <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> MINUTE_MS = 60000;
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>*</em></em>
+<a name="62" href="#62">62</a>  <em>     * Length of second in milliseconds.</em>
+<a name="63" href="#63">63</a>  <em>     */</em>
+<a name="64" href="#64">64</a>    <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> SECOND_MS = 1000;
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
+<a name="67" href="#67">67</a>  <em>     * Constructor.</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>    <strong>public</strong> <a href="../../../../org/apache/log4j/filter/TimeFilter.html">TimeFilter</a>() {
+<a name="70" href="#70">70</a>        acceptOnMatch = <strong>true</strong>;
+<a name="71" href="#71">71</a>        start = 0;
+<a name="72" href="#72">72</a>        end = Long.MAX_VALUE;
+<a name="73" href="#73">73</a>        calendar = Calendar.getInstance();
+<a name="74" href="#74">74</a>    }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em>/**<em>*</em></em>
+<a name="77" href="#77">77</a>  <em>     * Set start (inclusive) of time span.</em>
+<a name="78" href="#78">78</a>  <em>     * @param s string representation of start time as HH:mm:ss.</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>    <strong>public</strong> <strong>void</strong> setStart(<strong>final</strong> String s) {
+<a name="81" href="#81">81</a>        SimpleDateFormat stf = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss"</span>);
+<a name="82" href="#82">82</a>        stf.setTimeZone(TimeZone.getTimeZone(<span class="string">"UTC"</span>));
+<a name="83" href="#83">83</a>        <strong>try</strong> {
+<a name="84" href="#84">84</a>           start = stf.parse(s).getTime();
+<a name="85" href="#85">85</a>        } <strong>catch</strong>(ParseException ex) {
+<a name="86" href="#86">86</a>            LogLog.warn(<span class="string">"Error parsing start value "</span> + s, ex);
+<a name="87" href="#87">87</a>        }
+<a name="88" href="#88">88</a>    }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * Set end (exclusive) of time span.</em>
+<a name="92" href="#92">92</a>  <em>     * @param s string representation of end time as HH:mm:ss.</em>
+<a name="93" href="#93">93</a>  <em>     */</em>
+<a name="94" href="#94">94</a>    <strong>public</strong> <strong>void</strong> setEnd(<strong>final</strong> String s) {
+<a name="95" href="#95">95</a>          SimpleDateFormat stf = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss"</span>);
+<a name="96" href="#96">96</a>          stf.setTimeZone(TimeZone.getTimeZone(<span class="string">"UTC"</span>));
+<a name="97" href="#97">97</a>          <strong>try</strong> {
+<a name="98" href="#98">98</a>              end = stf.parse(s).getTime();
+<a name="99" href="#99">99</a>          } <strong>catch</strong>(ParseException ex) {
+<a name="100" href="#100">100</a>             LogLog.warn(<span class="string">"Error parsing end value "</span> + s, ex);
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>*</em></em>
+<a name="105" href="#105">105</a> <em>     * Set timezone.</em>
+<a name="106" href="#106">106</a> <em>     * @param s time zone.</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>   <strong>public</strong> <strong>void</strong> setTimeZone(<strong>final</strong> String s) {
+<a name="109" href="#109">109</a>       <strong>if</strong> (s == <strong>null</strong>) {
+<a name="110" href="#110">110</a>           calendar = Calendar.getInstance();
+<a name="111" href="#111">111</a>       } <strong>else</strong> {
+<a name="112" href="#112">112</a>         calendar = Calendar.getInstance(TimeZone.getTimeZone(s));
+<a name="113" href="#113">113</a>       }
+<a name="114" href="#114">114</a>   }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <em>/**<em>*</em></em>
+<a name="117" href="#117">117</a> <em>     * Sets whether an event within the timespan should be accepted or denied.</em>
+<a name="118" href="#118">118</a> <em>     * @param acceptOnMatch true if matching event should be accepted.</em>
+<a name="119" href="#119">119</a> <em>     */</em>
+<a name="120" href="#120">120</a>   <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> setAcceptOnMatch(<strong>boolean</strong> acceptOnMatch) {
+<a name="121" href="#121">121</a>     <strong>this</strong>.acceptOnMatch = acceptOnMatch;
+<a name="122" href="#122">122</a>   }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <em>/**<em>*</em></em>
+<a name="125" href="#125">125</a> <em>     * Gets whether an event within the timespan should be accepted or denied.</em>
+<a name="126" href="#126">126</a> <em>     * @return true if matching event should be accepted.</em>
+<a name="127" href="#127">127</a> <em>     */</em>
+<a name="128" href="#128">128</a>   <strong>public</strong> <strong>synchronized</strong> <strong>boolean</strong> getAcceptOnMatch() {
+<a name="129" href="#129">129</a>     <strong>return</strong> acceptOnMatch;
+<a name="130" href="#130">130</a>   }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>   <em>/**<em>* {@inheritDoc} */</em></em>
+<a name="133" href="#133">133</a>   <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) {
+<a name="134" href="#134">134</a>     calendar.setTimeInMillis(event.timeStamp);
+<a name="135" href="#135">135</a>     <em class="comment">//</em>
+<a name="136" href="#136">136</a>     <em class="comment">//   get apparent number of milliseconds since midnight</em>
+<a name="137" href="#137">137</a>     <em class="comment">//      (ignores extra or missing hour on daylight time changes).</em>
+<a name="138" href="#138">138</a>     <em class="comment">//</em>
+<a name="139" href="#139">139</a>     <strong>long</strong> apparentOffset = calendar.get(Calendar.HOUR_OF_DAY) * HOUR_MS +
+<a name="140" href="#140">140</a>         calendar.get(Calendar.MINUTE) * MINUTE_MS +
+<a name="141" href="#141">141</a>         calendar.get(Calendar.SECOND) * SECOND_MS +
+<a name="142" href="#142">142</a>         calendar.get(Calendar.MILLISECOND);
+<a name="143" href="#143">143</a>     <strong>if</strong> (apparentOffset >= start &amp;&amp; apparentOffset &lt; end) {
+<a name="144" href="#144">144</a>         <strong>if</strong> (acceptOnMatch) {
+<a name="145" href="#145">145</a>             <strong>return</strong> Filter.ACCEPT;
+<a name="146" href="#146">146</a>         } <strong>else</strong> {
+<a name="147" href="#147">147</a>             <strong>return</strong> Filter.DENY;
+<a name="148" href="#148">148</a>         }
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a>     <strong>return</strong> Filter.NEUTRAL;
+<a name="151" href="#151">151</a>   }
+<a name="152" href="#152">152</a> }
+<a name="153" href="#153">153</a> 
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+

Propchange: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/TimeFilter.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-frame.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-frame.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-frame.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-frame.html Thu Aug 23 22:43:39 2007
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Apache Extras Companion for log4j 1.2. 1.0-SNAPSHOT Reference Package org.apache.log4j.filter</title>
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.filter</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -38,6 +38,9 @@
           	</li>
           	          	<li>
             	<a href="StringMatchFilter.html" target="classFrame">StringMatchFilter</a>
+          	</li>
+          	          	<li>
+            	<a href="TimeFilter.html" target="classFrame">TimeFilter</a>
           	</li>
           	      	</ul>
 

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-summary.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-summary.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-summary.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/filter/package-summary.html Thu Aug 23 22:43:39 2007
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Apache Extras Companion for log4j 1.2. 1.0-SNAPSHOT Reference Package $name</title>
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -73,6 +73,11 @@
 				            	<tr>
               		<td>
                 		<a href="StringMatchFilter.html" target="classFrame">StringMatchFilter</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
+                		<a href="TimeFilter.html" target="classFrame">TimeFilter</a>
               		</td>
             	</tr>
 				        	</tbody>

Added: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html?rev=569257&view=auto
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html (added)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html Thu Aug 23 22:43:39 2007
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MDCKeySetExtractor xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
+<a name="3" href="#3">3</a>   <em class="comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * this work for additional information regarding copyright ownership.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
+<a name="6" href="#6">6</a>   <em class="comment"> * (the "License"); you may not use this file except in compliance with</em>
+<a name="7" href="#7">7</a>   <em class="comment"> * the License.  You may obtain a copy of the License at</em>
+<a name="8" href="#8">8</a>   <em class="comment"> *</em>
+<a name="9" href="#9">9</a>   <em class="comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
+<a name="10" href="#10">10</a>  <em class="comment"> *</em>
+<a name="11" href="#11">11</a>  <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em>
+<a name="12" href="#12">12</a>  <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
+<a name="13" href="#13">13</a>  <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
+<a name="14" href="#14">14</a>  <em class="comment"> * See the License for the specific language governing permissions and</em>
+<a name="15" href="#15">15</a>  <em class="comment"> * limitations under the License.</em>
+<a name="16" href="#16">16</a>  <em class="comment"> */</em>
+<a name="17" href="#17">17</a>  <strong>package</strong> org.apache.log4j.helpers;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.apache.log4j.spi.LoggingEvent;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.apache.log4j.pattern.LogEvent;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> java.lang.reflect.Method;
+<a name="23" href="#23">23</a>  <strong>import</strong> java.lang.reflect.InvocationTargetException;
+<a name="24" href="#24">24</a>  <strong>import</strong> java.util.Set;
+<a name="25" href="#25">25</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="26" href="#26">26</a>  <strong>import</strong> java.io.ObjectOutputStream;
+<a name="27" href="#27">27</a>  <strong>import</strong> java.io.ByteArrayInputStream;
+<a name="28" href="#28">28</a>  <strong>import</strong> java.io.ObjectInputStream;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> {
+<a name="32" href="#32">32</a>      <strong>private</strong> <strong>final</strong> Method getKeySetMethod;
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> INSTANCE =
+<a name="34" href="#34">34</a>              <strong>new</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>private</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>() {
+<a name="38" href="#38">38</a>          <em class="comment">//</em>
+<a name="39" href="#39">39</a>          <em class="comment">//  log4j 1.2.15 and later will have method to get names</em>
+<a name="40" href="#40">40</a>          <em class="comment">//     of all keys in MDC</em>
+<a name="41" href="#41">41</a>          <em class="comment">//</em>
+<a name="42" href="#42">42</a>        Method getMethod = <strong>null</strong>;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          <strong>try</strong> {
+<a name="45" href="#45">45</a>             getMethod = LoggingEvent.<strong>class</strong>.getMethod(
+<a name="46" href="#46">46</a>                        <span class="string">"getPropertyKeySet"</span>, <strong>null</strong>);
+<a name="47" href="#47">47</a>          } <strong>catch</strong>(Exception ex) {
+<a name="48" href="#48">48</a>              getMethod = <strong>null</strong>;
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>        getKeySetMethod = getMethod;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> Set getPropertyKeySet(<strong>final</strong> LoggingEvent event) throws Exception {
+<a name="55" href="#55">55</a>          <em class="comment">//</em>
+<a name="56" href="#56">56</a>          <em class="comment">//  MDC keys are not visible prior to log4j 1.2.15</em>
+<a name="57" href="#57">57</a>          <em class="comment">//</em>
+<a name="58" href="#58">58</a>          Set keySet = <strong>null</strong>;
+<a name="59" href="#59">59</a>          <strong>if</strong> (getKeySetMethod != <strong>null</strong>) {
+<a name="60" href="#60">60</a>                keySet = (Set) getKeySetMethod.invoke(event, <strong>null</strong>);
+<a name="61" href="#61">61</a>          } <strong>else</strong> {
+<a name="62" href="#62">62</a>              <em class="comment">//</em>
+<a name="63" href="#63">63</a>              <em class="comment">//  for 1.2.14 and earlier could serialize and</em>
+<a name="64" href="#64">64</a>              <em class="comment">//    extract MDC content</em>
+<a name="65" href="#65">65</a>                ByteArrayOutputStream outBytes = <strong>new</strong> ByteArrayOutputStream();
+<a name="66" href="#66">66</a>                ObjectOutputStream os = <strong>new</strong> ObjectOutputStream(outBytes);
+<a name="67" href="#67">67</a>                os.writeObject(event);
+<a name="68" href="#68">68</a>                os.close();
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>                byte[] raw = outBytes.toByteArray();
+<a name="71" href="#71">71</a>                <em class="comment">//</em>
+<a name="72" href="#72">72</a>                <em class="comment">//   bytes 6 and 7 should be the length of the original classname</em>
+<a name="73" href="#73">73</a>                <em class="comment">//     should be the same as our substitute class name</em>
+<a name="74" href="#74">74</a>                <strong>final</strong> String subClassName = LogEvent.<strong>class</strong>.getName();
+<a name="75" href="#75">75</a>                <strong>if</strong> (raw[6] == 0 || raw[7] == subClassName.length()) {
+<a name="76" href="#76">76</a>                    <em class="comment">//</em>
+<a name="77" href="#77">77</a>                    <em class="comment">//  manipulate stream to use our class name</em>
+<a name="78" href="#78">78</a>                    <em class="comment">//</em>
+<a name="79" href="#79">79</a>                    <strong>for</strong> (<strong>int</strong> i = 0; i &lt; subClassName.length(); i++) {
+<a name="80" href="#80">80</a>                        raw[8 + i] = (byte) subClassName.charAt(i);
+<a name="81" href="#81">81</a>                    }
+<a name="82" href="#82">82</a>                    ByteArrayInputStream inBytes = <strong>new</strong> ByteArrayInputStream(raw);
+<a name="83" href="#83">83</a>                    ObjectInputStream is = <strong>new</strong> ObjectInputStream(inBytes);
+<a name="84" href="#84">84</a>                    Object cracked = is.readObject();
+<a name="85" href="#85">85</a>                    <strong>if</strong> (cracked instanceof LogEvent) {
+<a name="86" href="#86">86</a>                        keySet = ((LogEvent) cracked).getPropertyKeySet();
+<a name="87" href="#87">87</a>                    }
+<a name="88" href="#88">88</a>                    is.close();
+<a name="89" href="#89">89</a>                }
+<a name="90" href="#90">90</a>          }
+<a name="91" href="#91">91</a>          <strong>return</strong> keySet;        
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+

Propchange: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-frame.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-frame.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-frame.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-frame.html Thu Aug 23 22:43:39 2007
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Apache Extras Companion for log4j 1.2. 1.0-SNAPSHOT Reference Package org.apache.log4j.helpers</title>
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.helpers</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -16,7 +16,7 @@
 
       	<ul>
       		          	<li>
-            	<a href="Constants.html" target="classFrame">Constants</a>
+            	<a href="MDCKeySetExtractor.html" target="classFrame">MDCKeySetExtractor</a>
           	</li>
           	          	<li>
             	<a href="UtilLoggingLevel.html" target="classFrame">UtilLoggingLevel</a>

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-summary.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-summary.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-summary.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/helpers/package-summary.html Thu Aug 23 22:43:39 2007
@@ -3,7 +3,7 @@
 <html xml:lang="en" lang="en">
 	<head>
 		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
-		<title>Apache Extras Companion for log4j 1.2. 1.0-SNAPSHOT Reference Package $name</title>
+		<title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title>
 		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
 	</head>
 	<body>
@@ -37,7 +37,7 @@
         	<tbody>
         		            	<tr>
               		<td>
-                		<a href="Constants.html" target="classFrame">Constants</a>
+                		<a href="MDCKeySetExtractor.html" target="classFrame">MDCKeySetExtractor</a>
               		</td>
             	</tr>
 				            	<tr>

Modified: logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html
URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html?rev=569257&r1=569256&r2=569257&view=diff
==============================================================================
--- logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html (original)
+++ logging/site/trunk/docs/log4j/companions/extras/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html Thu Aug 23 22:43:39 2007
@@ -29,23 +29,23 @@
 <a name="20" href="#20">20</a>  <strong>import</strong> org.apache.log4j.spi.Filter;
 <a name="21" href="#21">21</a>  <strong>import</strong> org.apache.log4j.spi.LoggingEvent;
 <a name="22" href="#22">22</a>  <strong>import</strong> org.apache.log4j.spi.OptionHandler;
-<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler;
-<a name="24" href="#24">24</a>  <strong>import</strong> org.w3c.dom.Element;
-<a name="25" href="#25">25</a>  
-<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Properties;
-<a name="27" href="#27">27</a>  
+<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.log4j.spi.TriggeringEventEvaluator;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.w3c.dom.Element;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <strong>import</strong> java.util.Properties;
 <a name="28" href="#28">28</a>  
-<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
-<a name="30" href="#30">30</a>  <em> * FilterBasedTriggeringPolicy determines if rolling should be triggered</em>
-<a name="31" href="#31">31</a>  <em> * by evaluating the current message against a set of filters.  Unless a</em>
-<a name="32" href="#32">32</a>  <em> * filter rejects a message, a rolling event will be triggered.</em>
-<a name="33" href="#33">33</a>  <em> *</em>
-<a name="34" href="#34">34</a>  <em> * @author Curt Arnold</em>
-<a name="35" href="#35">35</a>  <em> * @since 1.3</em>
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em> * FilterBasedTriggeringPolicy determines if rolling should be triggered</em>
+<a name="32" href="#32">32</a>  <em> * by evaluating the current message against a set of filters.  Unless a</em>
+<a name="33" href="#33">33</a>  <em> * filter rejects a message, a rolling event will be triggered.</em>
+<a name="34" href="#34">34</a>  <em> *</em>
+<a name="35" href="#35">35</a>  <em> * @author Curt Arnold</em>
 <a name="36" href="#36">36</a>  <em> *</em>
 <a name="37" href="#37">37</a>  <em> */</em>
 <a name="38" href="#38">38</a>  <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a>
-<a name="39" href="#39">39</a>          implements TriggeringPolicy, <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> {
+<a name="39" href="#39">39</a>          implements TriggeringPolicy, TriggeringEventEvaluator, <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> {
 <a name="40" href="#40">40</a>    <em>/**<em>*</em></em>
 <a name="41" href="#41">41</a>  <em>   * The first filter in the filter chain. Set to &lt;code>null&lt;/code> initially.</em>
 <a name="42" href="#42">42</a>  <em>   */</em>
@@ -62,96 +62,106 @@
 <a name="53" href="#53">53</a>    <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a>() {
 <a name="54" href="#54">54</a>    }
 <a name="55" href="#55">55</a>  
-<a name="56" href="#56">56</a>    <em>/**<em>*</em></em>
-<a name="57" href="#57">57</a>  <em>   * {@inheritDoc}</em>
-<a name="58" href="#58">58</a>  <em>   *</em>
-<a name="59" href="#59">59</a>  <em>   */</em>
-<a name="60" href="#60">60</a>    <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(
-<a name="61" href="#61">61</a>      <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file,
-<a name="62" href="#62">62</a>      <strong>final</strong> <strong>long</strong> fileLength) {
-<a name="63" href="#63">63</a>      <em class="comment">//</em>
-<a name="64" href="#64">64</a>      <em class="comment">//   in the abnormal case of no contained filters</em>
-<a name="65" href="#65">65</a>      <em class="comment">//     always return true to avoid each logging event </em>
-<a name="66" href="#66">66</a>      <em class="comment">//     from having its own file.</em>
-<a name="67" href="#67">67</a>      <strong>if</strong> (headFilter == <strong>null</strong>) {
-<a name="68" href="#68">68</a>        <strong>return</strong> false;
-<a name="69" href="#69">69</a>      }
-<a name="70" href="#70">70</a>  
-<a name="71" href="#71">71</a>      <em class="comment">//</em>
-<a name="72" href="#72">72</a>      <em class="comment">//    otherwise loop through the filters</em>
-<a name="73" href="#73">73</a>      <em class="comment">//</em>
-<a name="74" href="#74">74</a>      <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) {
-<a name="75" href="#75">75</a>        <strong>switch</strong> (f.decide(event)) {
-<a name="76" href="#76">76</a>        <strong>case</strong> Filter.DENY:
-<a name="77" href="#77">77</a>          <strong>return</strong> false;
-<a name="78" href="#78">78</a>  
-<a name="79" href="#79">79</a>        <strong>case</strong> Filter.ACCEPT:
-<a name="80" href="#80">80</a>          <strong>return</strong> <strong>true</strong>;
-<a name="81" href="#81">81</a>        }
-<a name="82" href="#82">82</a>      }
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * {@inheritDoc}</em>
+<a name="58" href="#58">58</a>  <em>     */</em>
+<a name="59" href="#59">59</a>    <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(LoggingEvent event) {
+<a name="60" href="#60">60</a>      <em class="comment">//</em>
+<a name="61" href="#61">61</a>      <em class="comment">//   in the abnormal case of no contained filters</em>
+<a name="62" href="#62">62</a>      <em class="comment">//     always return true to avoid each logging event</em>
+<a name="63" href="#63">63</a>      <em class="comment">//     from having its own file.</em>
+<a name="64" href="#64">64</a>      <strong>if</strong> (headFilter == <strong>null</strong>) {
+<a name="65" href="#65">65</a>        <strong>return</strong> false;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em class="comment">//</em>
+<a name="69" href="#69">69</a>      <em class="comment">//    otherwise loop through the filters</em>
+<a name="70" href="#70">70</a>      <em class="comment">//</em>
+<a name="71" href="#71">71</a>      <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) {
+<a name="72" href="#72">72</a>        <strong>switch</strong> (f.decide(event)) {
+<a name="73" href="#73">73</a>        <strong>case</strong> Filter.DENY:
+<a name="74" href="#74">74</a>          <strong>return</strong> false;
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>        <strong>case</strong> Filter.ACCEPT:
+<a name="77" href="#77">77</a>          <strong>return</strong> <strong>true</strong>;
+<a name="78" href="#78">78</a>        }
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>return</strong> <strong>true</strong>;
+<a name="82" href="#82">82</a>     }
 <a name="83" href="#83">83</a>  
-<a name="84" href="#84">84</a>      <strong>return</strong> <strong>true</strong>;
-<a name="85" href="#85">85</a>    }
-<a name="86" href="#86">86</a>  
-<a name="87" href="#87">87</a>    <em>/**<em>*</em></em>
-<a name="88" href="#88">88</a>  <em>   * Add a filter to end of the filter list.</em>
-<a name="89" href="#89">89</a>  <em>   * @param newFilter filter to add to end of list.</em>
-<a name="90" href="#90">90</a>  <em>   */</em>
-<a name="91" href="#91">91</a>    <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter newFilter) {
-<a name="92" href="#92">92</a>      <strong>if</strong> (headFilter == <strong>null</strong>) {
-<a name="93" href="#93">93</a>        headFilter = newFilter;
-<a name="94" href="#94">94</a>        tailFilter = newFilter;
-<a name="95" href="#95">95</a>      } <strong>else</strong> {
-<a name="96" href="#96">96</a>        tailFilter.next = newFilter;
-<a name="97" href="#97">97</a>        tailFilter = newFilter;
-<a name="98" href="#98">98</a>      }
-<a name="99" href="#99">99</a>    }
-<a name="100" href="#100">100</a> 
-<a name="101" href="#101">101</a>   <em>/**<em>*</em></em>
-<a name="102" href="#102">102</a> <em>   * Clear the filters chain.</em>
-<a name="103" href="#103">103</a> <em>   *</em>
-<a name="104" href="#104">104</a> <em>   */</em>
-<a name="105" href="#105">105</a>   <strong>public</strong> <strong>void</strong> clearFilters() {
-<a name="106" href="#106">106</a>     headFilter = <strong>null</strong>;
-<a name="107" href="#107">107</a>     tailFilter = <strong>null</strong>;
-<a name="108" href="#108">108</a>   }
-<a name="109" href="#109">109</a> 
-<a name="110" href="#110">110</a>   <em>/**<em>*</em></em>
-<a name="111" href="#111">111</a> <em>   * Returns the head Filter.</em>
-<a name="112" href="#112">112</a> <em>   * @return head of filter chain, may be null.</em>
-<a name="113" href="#113">113</a> <em>   *</em>
-<a name="114" href="#114">114</a> <em>   */</em>
-<a name="115" href="#115">115</a>   <strong>public</strong> Filter getFilter() {
-<a name="116" href="#116">116</a>     <strong>return</strong> headFilter;
-<a name="117" href="#117">117</a>   }
-<a name="118" href="#118">118</a> 
-<a name="119" href="#119">119</a>   <em>/**<em>*</em></em>
-<a name="120" href="#120">120</a> <em>   *  {@inheritDoc}</em>
-<a name="121" href="#121">121</a> <em>   */</em>
-<a name="122" href="#122">122</a>   <strong>public</strong> <strong>void</strong> activateOptions() {
-<a name="123" href="#123">123</a>     <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) {
-<a name="124" href="#124">124</a>       f.activateOptions();
-<a name="125" href="#125">125</a>     }
-<a name="126" href="#126">126</a>   }
-<a name="127" href="#127">127</a> 
-<a name="128" href="#128">128</a>     <em>/**<em>*</em></em>
-<a name="129" href="#129">129</a> <em>     * {@inheritDoc}</em>
-<a name="130" href="#130">130</a> <em>     */</em>
-<a name="131" href="#131">131</a>   <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element,
-<a name="132" href="#132">132</a>                                           <strong>final</strong> Properties props) throws Exception {
-<a name="133" href="#133">133</a>       <strong>final</strong> String nodeName = element.getNodeName();
-<a name="134" href="#134">134</a>       <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) {
-<a name="135" href="#135">135</a>           OptionHandler filter = RollingConfigurator.parseElement(element, props, Filter.<strong>class</strong>);
-<a name="136" href="#136">136</a>           <strong>if</strong> (filter instanceof Filter) {
-<a name="137" href="#137">137</a>               filter.activateOptions();
-<a name="138" href="#138">138</a>               <strong>this</strong>.addFilter((Filter) filter);
-<a name="139" href="#139">139</a>           }
-<a name="140" href="#140">140</a>           <strong>return</strong> <strong>true</strong>;
-<a name="141" href="#141">141</a>       }
-<a name="142" href="#142">142</a>       <strong>return</strong> false;
-<a name="143" href="#143">143</a>   }
-<a name="144" href="#144">144</a> 
-<a name="145" href="#145">145</a> }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>    <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>   * {@inheritDoc}</em>
+<a name="87" href="#87">87</a>  <em>   *</em>
+<a name="88" href="#88">88</a>  <em>   */</em>
+<a name="89" href="#89">89</a>    <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(
+<a name="90" href="#90">90</a>      <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file,
+<a name="91" href="#91">91</a>      <strong>final</strong> <strong>long</strong> fileLength) {
+<a name="92" href="#92">92</a>      <strong>return</strong> isTriggeringEvent(event);
+<a name="93" href="#93">93</a>    }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>    <em>/**<em>*</em></em>
+<a name="96" href="#96">96</a>  <em>   * Add a filter to end of the filter list.</em>
+<a name="97" href="#97">97</a>  <em>   * @param newFilter filter to add to end of list.</em>
+<a name="98" href="#98">98</a>  <em>   */</em>
+<a name="99" href="#99">99</a>    <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter newFilter) {
+<a name="100" href="#100">100</a>     <strong>if</strong> (headFilter == <strong>null</strong>) {
+<a name="101" href="#101">101</a>       headFilter = newFilter;
+<a name="102" href="#102">102</a>       tailFilter = newFilter;
+<a name="103" href="#103">103</a>     } <strong>else</strong> {
+<a name="104" href="#104">104</a>       tailFilter.next = newFilter;
+<a name="105" href="#105">105</a>       tailFilter = newFilter;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a>   }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>   <em>/**<em>*</em></em>
+<a name="110" href="#110">110</a> <em>   * Clear the filters chain.</em>
+<a name="111" href="#111">111</a> <em>   *</em>
+<a name="112" href="#112">112</a> <em>   */</em>
+<a name="113" href="#113">113</a>   <strong>public</strong> <strong>void</strong> clearFilters() {
+<a name="114" href="#114">114</a>     headFilter = <strong>null</strong>;
+<a name="115" href="#115">115</a>     tailFilter = <strong>null</strong>;
+<a name="116" href="#116">116</a>   }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>   <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>   * Returns the head Filter.</em>
+<a name="120" href="#120">120</a> <em>   * @return head of filter chain, may be null.</em>
+<a name="121" href="#121">121</a> <em>   *</em>
+<a name="122" href="#122">122</a> <em>   */</em>
+<a name="123" href="#123">123</a>   <strong>public</strong> Filter getFilter() {
+<a name="124" href="#124">124</a>     <strong>return</strong> headFilter;
+<a name="125" href="#125">125</a>   }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>   <em>/**<em>*</em></em>
+<a name="128" href="#128">128</a> <em>   *  {@inheritDoc}</em>
+<a name="129" href="#129">129</a> <em>   */</em>
+<a name="130" href="#130">130</a>   <strong>public</strong> <strong>void</strong> activateOptions() {
+<a name="131" href="#131">131</a>     <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) {
+<a name="132" href="#132">132</a>       f.activateOptions();
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a>   }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <em>/**<em>*</em></em>
+<a name="137" href="#137">137</a> <em>     * {@inheritDoc}</em>
+<a name="138" href="#138">138</a> <em>     */</em>
+<a name="139" href="#139">139</a>   <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element,
+<a name="140" href="#140">140</a>                                           <strong>final</strong> Properties props) throws Exception {
+<a name="141" href="#141">141</a>       <strong>final</strong> String nodeName = element.getNodeName();
+<a name="142" href="#142">142</a>       <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) {
+<a name="143" href="#143">143</a>           OptionHandler filter =
+<a name="144" href="#144">144</a>                   org.apache.log4j.extras.DOMConfigurator.parseElement(
+<a name="145" href="#145">145</a>                           element, props, Filter.<strong>class</strong>);
+<a name="146" href="#146">146</a>           <strong>if</strong> (filter instanceof Filter) {
+<a name="147" href="#147">147</a>               filter.activateOptions();
+<a name="148" href="#148">148</a>               <strong>this</strong>.addFilter((Filter) filter);
+<a name="149" href="#149">149</a>           }
+<a name="150" href="#150">150</a>           <strong>return</strong> <strong>true</strong>;
+<a name="151" href="#151">151</a>       }
+<a name="152" href="#152">152</a>       <strong>return</strong> false;
+<a name="153" href="#153">153</a>   }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>



Mime
View raw message