﻿<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>Log4NetConfigurationSectionHandler Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Log4NetConfigurationSectionHandler class" /><meta name="System.Keywords" content="log4net.Config.Log4NetConfigurationSectionHandler class" /><meta name="System.Keywords" content="Log4NetConfigurationSectionHandler class, about Log4NetConfigurationSectionHandler class" /><meta name="Microsoft.Help.F1" content="log4net.Config.Log4NetConfigurationSectionHandler" /><meta name="Microsoft.Help.Id" content="T:log4net.Config.Log4NetConfigurationSectionHandler" /><meta name="Description" content="Class to register for the log4net section of the configuration file" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Config" /><meta name="file" content="T_log4net_Config_Log4NetConfigurationSectionHandler" /><meta name="guid" content="T_log4net_Config_Log4NetConfigurationSectionHandler" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><link type="text/css" rel="stylesheet" href="./../styles/highlight.css" /><script type="text/javascript" src="../scripts/highlight.js"><!----></script><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">Log4NetConfigurationSectionHandler 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">
            Class to register for the log4net section of the configuration file
            </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><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">System<span id="ID0EBEOAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBEOAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Object</a><br />  <span class="selflink">log4net.Config<span id="ID0EBBOAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBOAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Log4NetConfigurationSectionHandler</span><br /><p></p><b>Namespace:</b> <a href="N_log4net_Config.htm" target="">log4net.Config</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.14.0 (1.2.14.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="ID0ECAEAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECAEAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECAEAAAAA_tabimgleft"></div><div id="ID0ECAEAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECAEAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECAEAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECAEAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECAEAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECAEAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECAEAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECAEAAAAA_tabimgright"></div></div><div id="ID0ECAEAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECAEAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECAEAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECAEAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECAEAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECAEAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECAEAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECAEAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Log4NetConfigurationSectionHandler</span> : <span class="identifier">IConfigurationSectionHandler</span></pre></div><div id="ID0ECAEAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public class Log4NetConfigurationSectionHandler : IConfigurationSectionHandler</pre></div><div id="ID0ECAEAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Class</span> <span class="identifier">Log4NetConfigurationSectionHandler</span> 
	<span class="keyword">Implements</span> <span class="identifier">IConfigurationSectionHandler</span></pre></div><div id="ID0ECAEAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Class Log4NetConfigurationSectionHandler 
	Implements IConfigurationSectionHandler</pre></div><div id="ID0ECAEAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span> <span class="keyword">ref class</span> <span class="identifier">Log4NetConfigurationSectionHandler</span> : <span class="identifier">IConfigurationSectionHandler</span></pre></div><div id="ID0ECAEAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public ref class Log4NetConfigurationSectionHandler : IConfigurationSectionHandler</pre></div><div id="ID0ECAEAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECAEAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECAEAAAAA');</script></div><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>
            The log4net section of the configuration file needs to have a section
            handler registered. This is the section handler used. It simply returns
            the XML element that is the root of the section.
            <div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Examples</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div>
            Example of registering the log4net section handler :
            <div id="ID0EACAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0EACAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EACAAAAA_tabimgleft"></div><div id="ID0EACAAAAA_tab1" class="OH_CodeSnippetContainerTabSolo" EnableCopyCode="true"><a xmlns="">XML</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EACAAAAA_tabimgright"></div></div><div id="ID0EACAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EACAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0EACAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0EACAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0EACAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0EACAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0EACAAAAA','4')" title="Print">Print</a></div></div><div id="ID0EACAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">configuration</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">configSections</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">section</span> <span class="highlight-xml-attribute-name">name</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"log4net"</span> <span class="highlight-xml-attribute-name">type</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"log4net.Config.Log4NetConfigurationSectionHandler, log4net"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;/</span><span class="highlight-xml-tag">configSections</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">log4net</span><span class="highlight-xml-bracket">&gt;</span>
                    log4net configuration XML goes here
                <span class="highlight-xml-bracket">&lt;/</span><span class="highlight-xml-tag">log4net</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;/</span><span class="highlight-xml-tag">configuration</span><span class="highlight-xml-bracket">&gt;</span></pre></div><div id="ID0EACAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>&lt;configuration&gt;&lt;configSections&gt;&lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /&gt;&lt;/configSections&gt;&lt;log4net&gt;
                    log4net configuration XML goes here
                &lt;/log4net&gt;&lt;/configuration&gt;</pre></div></div></div><script>addSpecificTextLanguageTagSet('ID0EACAAAAA');</script><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="AllMembers_T_log4net_Config_Log4NetConfigurationSectionHandler.htm" target="">Log4NetConfigurationSectionHandler Members</a></div><div class="seeAlsoStyle"><a href="N_log4net_Config.htm" target="">log4net.Config 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+Log4NetConfigurationSectionHandler+Class+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>