﻿<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>ILoggerRepository Members</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="ILoggerRepository interface" /><meta name="System.Keywords" content="ILoggerRepository interface, all members" /><meta name="System.Keywords" content="log4net.Repository.ILoggerRepository interface" /><meta name="Microsoft.Help.Id" content="AllMembers.T:log4net.Repository.ILoggerRepository" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Repository" /><meta name="file" content="AllMembers_T_log4net_Repository_ILoggerRepository" /><meta name="guid" content="AllMembers_T_log4net_Repository_ILoggerRepository" /><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">ILoggerRepository Members</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span>The <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> type exposes the following members.<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 class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">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_Repository_ILoggerRepository_Exists.htm" target="">Exists</a></td><td><div class="summary">
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <span class="code">null</span>.
            </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_Repository_ILoggerRepository_GetAppenders.htm" target="">GetAppenders</a></td><td><div class="summary">
            Returns all the Appenders that are configured as an Array.
            </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_Repository_ILoggerRepository_GetCurrentLoggers.htm" target="">GetCurrentLoggers</a></td><td><div class="summary">
            Returns all the currently defined loggers as an Array.
            </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_Repository_ILoggerRepository_GetLogger.htm" target="">GetLogger</a></td><td><div class="summary">
            Returns a named logger instance
            </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_Repository_ILoggerRepository_Log.htm" target="">Log</a></td><td><div class="summary">
            Log the <a href="T_log4net_Core_LoggingEvent.htm" target="">LoggingEvent</a> through this repository.
            </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_Repository_ILoggerRepository_ResetConfiguration.htm" target="">ResetConfiguration</a></td><td><div class="summary">
            Reset the repositories configuration to a default state
            </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_Repository_ILoggerRepository_Shutdown.htm" target="">Shutdown</a></td><td><div class="summary">Shutdown the repository</div></td></tr></table><a href="#mainBody" target="">Back to 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 class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">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_Repository_ILoggerRepository_ConfigurationMessages.htm" target="">ConfigurationMessages</a></td><td><div class="summary">
            Collection of internal messages captured during the most 
            recent configuration process.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_Configured.htm" target="">Configured</a></td><td><div class="summary">
            Flag indicates if this repository has been configured.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_LevelMap.htm" target="">LevelMap</a></td><td><div class="summary">
            Get the level map for the Repository.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_Name.htm" target="">Name</a></td><td><div class="summary">
            The name of the repository
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_PluginMap.htm" target="">PluginMap</a></td><td><div class="summary">
            The plugin map for this repository.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_Properties.htm" target="">Properties</a></td><td><div class="summary">
            Repository specific properties
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_RendererMap.htm" target="">RendererMap</a></td><td><div class="summary">
            RendererMap accesses the object renderer map for this repository.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Repository_ILoggerRepository_Threshold.htm" target="">Threshold</a></td><td><div class="summary">
            The threshold for all events in this repository
            </div></td></tr></table><a href="#mainBody" target="">Back to Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Events</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 class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubevent.gif" alt="Public event" title="Public event" /></td><td><a href="E_log4net_Repository_ILoggerRepository_ConfigurationChanged.htm" target="">ConfigurationChanged</a></td><td><div class="summary">
            Event to notify that the repository has had its configuration changed.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubevent.gif" alt="Public event" title="Public event" /></td><td><a href="E_log4net_Repository_ILoggerRepository_ConfigurationReset.htm" target="">ConfigurationReset</a></td><td><div class="summary">
            Event to notify that the repository has had its configuration reset.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubevent.gif" alt="Public event" title="Public event" /></td><td><a href="E_log4net_Repository_ILoggerRepository_ShutdownEvent.htm" target="">ShutdownEvent</a></td><td><div class="summary">
            Event to notify that the repository has been shutdown.
            </div></td></tr></table><a href="#mainBody" target="">Back to Top</a><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_Repository_ILoggerRepository.htm" target="">ILoggerRepository Interface</a></div><div class="seeAlsoStyle"><a href="N_log4net_Repository.htm" target="">log4net.Repository 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+ILoggerRepository+Members+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>