﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>StringMatchFilter.Decide Method </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Decide method" /><meta name="System.Keywords" content="StringMatchFilter.Decide method" /><meta name="Microsoft.Help.F1" content="log4net.Filter.StringMatchFilter.Decide" /><meta name="Microsoft.Help.Id" content="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)" /><meta name="Description" content="Check if this filter should allow the event to be logged" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Filter" /><meta name="file" content="M_log4net_Filter_StringMatchFilter_Decide" /><meta name="guid" content="M_log4net_Filter_StringMatchFilter_Decide" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">StringMatchFilter<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Decide Method </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">
            Check if this filter should allow the event to be logged
            </div><p></p><b>Namespace:</b> <a href="N_log4net_Filter.htm" target="">log4net.Filter</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.15.0 (1.2.15.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 id="snippetGroup_Syntax" class="code"><div id="ID0ECJDAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECJDAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECJDAAAAA_tabimgleft"></div><div id="ID0ECJDAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJDAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECJDAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJDAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECJDAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJDAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECJDAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECJDAAAAA_tabimgright"></div></div><div id="ID0ECJDAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECJDAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECJDAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECJDAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECJDAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECJDAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECJDAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECJDAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="keyword">override</span> <span class="identifier">FilterDecision</span> <span class="identifier">Decide</span>(
	<span class="identifier">LoggingEvent</span> <span class="parameter">loggingEvent</span>
)</pre></div><div id="ID0ECJDAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public override FilterDecision Decide(
	LoggingEvent loggingEvent
)</pre></div><div id="ID0ECJDAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Overrides</span> <span class="keyword">Function</span> <span class="identifier">Decide</span> ( 
	<span class="parameter">loggingEvent</span> <span class="keyword">As</span> <span class="identifier">LoggingEvent</span>
) <span class="keyword">As</span> <span class="identifier">FilterDecision</span></pre></div><div id="ID0ECJDAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Overrides Function Decide ( 
	loggingEvent As LoggingEvent
) As FilterDecision</pre></div><div id="ID0ECJDAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span>:
<span class="keyword">virtual</span> <span class="identifier">FilterDecision</span> <span class="identifier">Decide</span>(
	<span class="identifier">LoggingEvent</span>^ <span class="parameter">loggingEvent</span>
) <span class="keyword">override</span></pre></div><div id="ID0ECJDAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public:
virtual FilterDecision Decide(
	LoggingEvent^ loggingEvent
) override</pre></div><div id="ID0ECJDAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECJDAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECJDAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="loggingEvent"><dt><span class="parameter">loggingEvent</span></dt><dd>Type: <a href="T_log4net_Core_LoggingEvent.htm" target="">log4net.Core<span id="ID0EBCAAIDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAIDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LoggingEvent</a><br /><span>the event being logged</span></dd></dl></div><h4 class="subHeading">Return Value</h4>Type: <a href="T_log4net_Filter_FilterDecision.htm" target="">FilterDecision</a><br />see remarks<h4 class="subHeading">Implements</h4><a href="M_log4net_Filter_IFilter_Decide.htm" target="">IFilter<span id="ID0EBBDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Decide(LoggingEvent)</a><br /><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>
            The rendered message is matched against the <a href="P_log4net_Filter_StringMatchFilter_StringToMatch.htm" target="">StringToMatch</a>.
            If the <a href="P_log4net_Filter_StringMatchFilter_StringToMatch.htm" target="">StringToMatch</a> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <a href="T_log4net_Filter_FilterDecision.htm" target="">Neutral</a>
            allowing other filters to check the event. If a match occurs then
            the value of <a href="P_log4net_Filter_StringMatchFilter_AcceptOnMatch.htm" target="">AcceptOnMatch</a> is checked. If it is
            true then <a href="T_log4net_Filter_FilterDecision.htm" target="">Accept</a> is returned otherwise
            <a href="T_log4net_Filter_FilterDecision.htm" target="">Deny</a> is returned.
            </p><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Filter_StringMatchFilter.htm" target="">StringMatchFilter Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Filter_StringMatchFilter.htm" target="">StringMatchFilter Members</a></div><div class="seeAlsoStyle"><a href="N_log4net_Filter.htm" target="">log4net.Filter Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+StringMatchFilter.Decide+Method++100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>