blob: 18e0a94a3c32edd72d87017465519157c6a4530b [file] [log] [blame]
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FilterSkeleton Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="FilterSkeleton class" /><meta name="System.Keywords" content="log4net.Filter.FilterSkeleton class" /><meta name="System.Keywords" content="FilterSkeleton class, about FilterSkeleton class" /><meta name="Microsoft.Help.F1" content="log4net.Filter.FilterSkeleton" /><meta name="Microsoft.Help.Id" content="T:log4net.Filter.FilterSkeleton" /><meta name="Description" content="Subclass this type to implement customized logging event filtering" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Filter" /><meta name="file" content="T_log4net_Filter_FilterSkeleton" /><meta name="guid" content="T_log4net_Filter_FilterSkeleton" /></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">FilterSkeleton Class</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary">
Subclass this type to implement customized logging event filtering
</div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Inheritance Hierarchy</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">System<span id="LSTCD884AF2_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_0?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Object</a><br />  <span class="selflink">log4net.Filter<span id="LSTCD884AF2_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>FilterSkeleton</span><br />    <a href="T_log4net_Filter_DenyAllFilter.htm">log4net.Filter<span id="LSTCD884AF2_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>DenyAllFilter</a><br />    <a href="T_log4net_Filter_LevelMatchFilter.htm">log4net.Filter<span id="LSTCD884AF2_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>LevelMatchFilter</a><br />    <a href="T_log4net_Filter_LevelRangeFilter.htm">log4net.Filter<span id="LSTCD884AF2_4"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>LevelRangeFilter</a><br />    <a href="T_log4net_Filter_LoggerMatchFilter.htm">log4net.Filter<span id="LSTCD884AF2_5"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_5?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>LoggerMatchFilter</a><br />    <a href="T_log4net_Filter_StringMatchFilter.htm">log4net.Filter<span id="LSTCD884AF2_6"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTCD884AF2_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>StringMatchFilter</a><br /><p> </p><strong>Namespace:</strong> <a href="N_log4net_Filter.htm">log4net.Filter</a><br /><strong>Assembly:</strong> log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.0<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><div class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EDCA_tabimgleft"> </div><div id="ID0EDCA_tab1" class="OH_CodeSnippetContainerTabFirst"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cs','1','4');return false;">C#</a></div><div id="ID0EDCA_tab2" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','vb','2','4');return false;">VB</a></div><div id="ID0EDCA_tab3" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cpp','3','4');return false;">C++</a></div><div id="ID0EDCA_tab4" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','fs','4','4');return false;">F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EDCA_tabimgright"> </div></div><div class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EDCA_copyCode" href="#" onclick="javascript:CopyToClipboard('ID0EDCA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDCA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class</span> <span class="identifier">FilterSkeleton</span> : <span class="identifier">IFilter</span>,
<span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">Public</span> <span class="keyword">MustInherit</span> <span class="keyword">Class</span> <span class="identifier">FilterSkeleton</span>
<span class="keyword">Implements</span> <span class="identifier">IFilter</span>, <span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">ref class</span> <span class="identifier">FilterSkeleton</span> <span class="keyword">abstract</span> : <span class="identifier">IFilter</span>,
<span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">[&lt;<span class="identifier">AbstractClassAttribute</span>&gt;]
<span class="keyword">type</span> <span class="identifier">FilterSkeleton</span> =
<span class="keyword">class</span>
<span class="keyword">interface</span> <span class="identifier">IFilter</span>
<span class="keyword">interface</span> <span class="identifier">IOptionHandler</span>
<span class="keyword">end</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><p>The <span class="selflink">FilterSkeleton</span> type exposes the following members.</p><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Constructors</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
 
</th><th>Name</th><th>Description</th></tr><tr data="protected;declared;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Filter_FilterSkeleton__ctor.htm">FilterSkeleton</a></td><td><div class="summary">Initializes a new instance of the <span class="selflink">FilterSkeleton</span> class</div></td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Properties</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
 
</th><th>Name</th><th>Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Filter_FilterSkeleton_Next.htm">Next</a></td><td><div class="summary">
Property to get and set the next filter
</div></td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Methods</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
 
</th><th>Name</th><th>Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Filter_FilterSkeleton_ActivateOptions.htm">ActivateOptions</a></td><td><div class="summary">
Initialize the filter with the options set
</div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Filter_FilterSkeleton_Decide.htm">Decide</a></td><td><div class="summary">
Decide if the <a href="T_log4net_Core_LoggingEvent.htm">LoggingEvent</a> should be logged through an appender.
</div></td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/bsc2ak47" target="_blank">Equals</a></td><td><div class="summary">
Determines whether the specified <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is equal to the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/4k87zsw7" target="_blank">Finalize</a></td><td><div class="summary">
Allows an <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> to attempt to free resources and perform other cleanup operations before the <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is reclaimed by garbage collection.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/zdee4b3y" target="_blank">GetHashCode</a></td><td><div class="summary">
Serves as a hash function for a particular type.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dfwy45w9" target="_blank">GetType</a></td><td><div class="summary">
Gets the <a href="http://msdn2.microsoft.com/en-us/library/42892f65" target="_blank">Type</a> of the current instance.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/57ctke0a" target="_blank">MemberwiseClone</a></td><td><div class="summary">
Creates a shallow copy of the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/7bxwbwt2" target="_blank">ToString</a></td><td><div class="summary">
Returns a <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a> that represents the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><p>
Users should extend this class to implement customized logging
event filtering. Note that <a href="T_log4net_Repository_Hierarchy_Logger.htm">Logger</a> and
<a href="T_log4net_Appender_AppenderSkeleton.htm">AppenderSkeleton</a>, the parent class of all standard
appenders, have built-in filtering rules. It is suggested that you
first use and understand the built-in rules before rushing to write
your own custom filters.
</p><p>
This abstract class assumes and also imposes that filters be
organized in a linear chain. The <a href="M_log4net_Filter_FilterSkeleton_Decide.htm">Decide(LoggingEvent)</a>
method of each filter is called sequentially, in the order of their
addition to the chain.
</p><p>
The <a href="M_log4net_Filter_FilterSkeleton_Decide.htm">Decide(LoggingEvent)</a> method must return one
of the integer constants <a href="T_log4net_Filter_FilterDecision.htm">Deny</a>,
<a href="T_log4net_Filter_FilterDecision.htm">Neutral</a> or <a href="T_log4net_Filter_FilterDecision.htm">Accept</a>.
</p><p>
If the value <a href="T_log4net_Filter_FilterDecision.htm">Deny</a> is returned, then the log event is dropped
immediately without consulting with the remaining filters.
</p><p>
If the value <a href="T_log4net_Filter_FilterDecision.htm">Neutral</a> is returned, then the next filter
in the chain is consulted. If there are no more filters in the
chain, then the log event is logged. Thus, in the presence of no
filters, the default behavior is to log all logging events.
</p><p>
If the value <a href="T_log4net_Filter_FilterDecision.htm">Accept</a> is returned, then the log
event is logged without consulting the remaining filters.
</p><p>
The philosophy of log4net filters is largely inspired from the
Linux ipchains.
</p><div class="OH_CollapsibleAreaRegion" id="seeAlsoSection"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="N_log4net_Filter.htm">log4net.Filter Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer">Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.<p><a href="http://logging.apache.org/log4net/" target="_blank">Copyright 2004-2017 The Apache Software Foundation</a></p><div class="OH_feedbacklink">Send comments on this topic to
<a id="HT_MailLink" href="mailto:http%3A%2F%2Flogging.apache.org%2Flog4net%2Fmail-lists.html?Subject=Apache log4net™ SDK Documentation">http://logging.apache.org/log4net/mail-lists.html</a></div><script type="text/javascript">
var HT_mailLink = document.getElementById("HT_MailLink");
var HT_mailLinkText = HT_mailLink.innerHTML;
HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.");
HT_mailLink.innerHTML = HT_mailLinkText;
</script> </div></body></html>