﻿<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>LoggerManager.Exists Method (String, String)</title><meta name="Language" content="en-us" /><meta name="Microsoft.Help.Id" content="M:log4net.Core.LoggerManager.Exists(System.String,System.String)" /><meta name="Description" content="Returns the named logger if it exists." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Core" /><meta name="file" content="M_log4net_Core_LoggerManager_Exists_1" /><meta name="guid" content="M_log4net_Core_LoggerManager_Exists_1" /><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">LoggerManager<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Exists Method (String, String)</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">
            Returns the named logger if it exists.
            </div><p></p><b>Namespace:</b> <a href="N_log4net_Core.htm" target="">log4net.Core</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="ID0ECIDAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECIDAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECIDAAAAA_tabimgleft"></div><div id="ID0ECIDAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECIDAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECIDAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECIDAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECIDAAAAA_tabimgright"></div></div><div id="ID0ECIDAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECIDAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECIDAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECIDAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECIDAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECIDAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECIDAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECIDAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="keyword">static</span> <span class="identifier">ILogger</span> <span class="identifier">Exists</span>(
	<span class="identifier">string</span> <span class="parameter">repository</span>,
	<span class="identifier">string</span> <span class="parameter">name</span>
)</pre></div><div id="ID0ECIDAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public static ILogger Exists(
	string repository,
	string name
)</pre></div><div id="ID0ECIDAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Shared</span> <span class="keyword">Function</span> <span class="identifier">Exists</span> ( 
	<span class="parameter">repository</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">name</span> <span class="keyword">As</span> <span class="identifier">String</span>
) <span class="keyword">As</span> <span class="identifier">ILogger</span></pre></div><div id="ID0ECIDAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Shared Function Exists ( 
	repository As String,
	name As String
) As ILogger</pre></div><div id="ID0ECIDAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span>:
<span class="keyword">static</span> <span class="identifier">ILogger</span>^ <span class="identifier">Exists</span>(
	<span class="identifier">String</span>^ <span class="parameter">repository</span>, 
	<span class="identifier">String</span>^ <span class="parameter">name</span>
)</pre></div><div id="ID0ECIDAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public:
static ILogger^ Exists(
	String^ repository, 
	String^ name
)</pre></div><div id="ID0ECIDAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECIDAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECIDAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="repository"><dt><span class="parameter">repository</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCABHDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCABHDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The repository to lookup in.</span></dd></dl><dl paramName="name"><dt><span class="parameter">name</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCAAHDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAHDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The fully qualified logger name to look for.</span></dd></dl></div><h4 class="subHeading">Return Value</h4>Type: <a href="T_log4net_Core_ILogger.htm" target="">ILogger</a><br />
            The logger found, or <span class="code">null</span> if the named logger does not exist in the
            specified repository.
            <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>
            If the named logger exists (in the specified repository) then it
            returns a reference to the logger, otherwise it returns
            <span class="code">null</span>.
            </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_Core_LoggerManager.htm" target="">LoggerManager Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Core_LoggerManager.htm" target="">LoggerManager Members</a></div><div class="seeAlsoStyle"><a href="Overload_log4net_Core_LoggerManager_Exists.htm" target="">Exists Overload</a></div><div class="seeAlsoStyle"><a href="N_log4net_Core.htm" target="">log4net.Core 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+LoggerManager.Exists+Method+(String%2c+String)+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>