﻿<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>XmlConfiguratorAttribute Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="XmlConfiguratorAttribute class" /><meta name="System.Keywords" content="log4net.Config.XmlConfiguratorAttribute class" /><meta name="System.Keywords" content="XmlConfiguratorAttribute class, about XmlConfiguratorAttribute class" /><meta name="Microsoft.Help.F1" content="log4net.Config.XmlConfiguratorAttribute" /><meta name="Microsoft.Help.Id" content="T:log4net.Config.XmlConfiguratorAttribute" /><meta name="Description" content="Assembly level attribute to configure the ." /><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_XmlConfiguratorAttribute" /><meta name="guid" content="T_log4net_Config_XmlConfiguratorAttribute" /><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">XmlConfiguratorAttribute 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">
            Assembly level attribute to configure the <a href="T_log4net_Config_XmlConfigurator.htm" target="">XmlConfigurator</a>.
            </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="ID0EBNNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBNNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Object</a><br />  <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e8kc3626" target="_blank">System<span id="ID0EBKNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBKNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Attribute</a><br />    <a href="T_log4net_Config_ConfiguratorAttribute.htm" target="">log4net.Config<span id="ID0EBHNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBHNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ConfiguratorAttribute</a><br />      <span class="selflink">log4net.Config<span id="ID0EBENAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBENAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>XmlConfiguratorAttribute</span><br />        <a href="T_log4net_Config_DOMConfiguratorAttribute.htm" target="">log4net.Config<span id="ID0EBBNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>DOMConfiguratorAttribute</a><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.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="ID0ECADAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECADAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECADAAAAA_tabimgleft"></div><div id="ID0ECADAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECADAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECADAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECADAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECADAAAAA_tabimgright"></div></div><div id="ID0ECADAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECADAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECADAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECADAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECADAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECADAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECADAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECADAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre>[<span class="identifier">SerializableAttribute</span>]
<span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">XmlConfiguratorAttribute</span> : <span class="identifier">ConfiguratorAttribute</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>[SerializableAttribute]
public class XmlConfiguratorAttribute : ConfiguratorAttribute</pre></div><div id="ID0ECADAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>&lt;<span class="identifier">SerializableAttribute</span>&gt;
<span class="keyword">Public</span> <span class="keyword">Class</span> <span class="identifier">XmlConfiguratorAttribute</span> 
	<span class="keyword">Inherits</span> <span class="identifier">ConfiguratorAttribute</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>&lt;SerializableAttribute&gt;
Public Class XmlConfiguratorAttribute 
	Inherits ConfiguratorAttribute</pre></div><div id="ID0ECADAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>[<span class="identifier">SerializableAttribute</span>]
<span class="keyword">public</span> <span class="keyword">ref class</span> <span class="identifier">XmlConfiguratorAttribute</span> : <span class="keyword">public</span> <span class="identifier">ConfiguratorAttribute</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>[SerializableAttribute]
public ref class XmlConfiguratorAttribute : public ConfiguratorAttribute</pre></div><div id="ID0ECADAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECADAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECADAAAAA');</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><p>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </p><p>
            Use this attribute to configure the <a href="T_log4net_Config_XmlConfigurator.htm" target="">XmlConfigurator</a>
            without calling one of the <span class="nolink">[M:XmlConfigurator.Configure()]</span>
            methods.
            </p><p>
            If neither of the <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFile.htm" target="">ConfigFile</a> or <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFileExtension.htm" target="">ConfigFileExtension</a>
            properties are set the configuration is loaded from the application's .config file.
            If set the <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFile.htm" target="">ConfigFile</a> property takes priority over the
            <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFileExtension.htm" target="">ConfigFileExtension</a> property. The <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFile.htm" target="">ConfigFile</a> property
            specifies a path to a file to load the config from. The path is relative to the
            application's base directory; <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/y6sdkxe2" target="_blank">BaseDirectory</a>.
            The <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFileExtension.htm" target="">ConfigFileExtension</a> property is used as a postfix to the assembly file name.
            The config file must be located in the  application's base directory; <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/y6sdkxe2" target="_blank">BaseDirectory</a>.
            For example in a console application setting the <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFileExtension.htm" target="">ConfigFileExtension</a> to
            <span class="code">config</span> has the same effect as not specifying the <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFile.htm" target="">ConfigFile</a> or 
            <a href="P_log4net_Config_XmlConfiguratorAttribute_ConfigFileExtension.htm" target="">ConfigFileExtension</a> properties.
            </p><p>
            The <a href="P_log4net_Config_XmlConfiguratorAttribute_Watch.htm" target="">Watch</a> property can be set to cause the <a href="T_log4net_Config_XmlConfigurator.htm" target="">XmlConfigurator</a>
            to watch the configuration file for changes.
            </p><div class="alert"><table><tr><th><img class="mtps-img-src" src="./../icons/alert_note.gif" alt="Note" /> <b>Note</b></th></tr><tr><td><p>
            Log4net will only look for assembly level configuration attributes once.
            When using the log4net assembly level attributes to control the configuration 
            of log4net you must ensure that the first call to any of the 
            <a href="T_log4net_Core_LoggerManager.htm" target="">LoggerManager</a> methods is made from the assembly with the configuration
            attributes. 
            </p><p>
            If you cannot guarantee the order in which log4net calls will be made from 
            different assemblies you must use programmatic configuration instead, i.e.
            call the <span class="nolink">[M:XmlConfigurator.Configure()]</span> method directly.
            </p></td></tr></table></div><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_XmlConfiguratorAttribute.htm" target="">XmlConfiguratorAttribute 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+XmlConfiguratorAttribute+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>