<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_131) on Wed Aug 02 06:39:22 CEST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LoggerRepositoryEx (Apache Chainsaw 2.1.0-SNAPSHOT API)</title>
<meta name="date" content="2017-08-02">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="LoggerRepositoryEx (Apache Chainsaw 2.1.0-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LoggerRepositoryEx.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/log4j/spi/NOPULogger.html" title="class in org.apache.log4j.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/log4j/spi/LoggerRepositoryEx.html" target="_top">Frames</a></li>
<li><a href="LoggerRepositoryEx.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.log4j.spi</div>
<h2 title="Interface LoggerRepositoryEx" class="title">Interface LoggerRepositoryEx</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>org.apache.log4j.spi.LoggerRepository</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/log4j/LoggerRepositoryExImpl.html" title="class in org.apache.log4j">LoggerRepositoryExImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">LoggerRepositoryEx</span>
extends org.apache.log4j.spi.LoggerRepository</pre>
<div class="block">A <code>LoggerRepository</code> is used to create and retrieve
   <code>Loggers</code>. The relation between loggers in a repository
   depends on the repository but typically loggers are arranged in a
   named hierarchy.

   <p>In addition to the creational methods, a
   <code>LoggerRepository</code> can be queried for existing loggers,
   can act as a point of registry for events related to loggers.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Ceki G&uuml;lc&uuml;, Mark Womack, Curt Arnold</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#addErrorItem-org.apache.log4j.spi.ErrorItem-">addErrorItem</a></span>(<a href="../../../../org/apache/log4j/spi/ErrorItem.html" title="class in org.apache.log4j.spi">ErrorItem</a>&nbsp;errorItem)</code>
<div class="block">Errors which cannot be logged, go to the error list.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#addLoggerEventListener-org.apache.log4j.spi.LoggerEventListener-">addLoggerEventListener</a></span>(<a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi">LoggerEventListener</a>&nbsp;listener)</code>
<div class="block">Add a <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a> to the repository.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#addLoggerRepositoryEventListener-org.apache.log4j.spi.LoggerRepositoryEventListener-">addLoggerRepositoryEventListener</a></span>(<a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi">LoggerRepositoryEventListener</a>&nbsp;listener)</code>
<div class="block">Add a <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a> to the repository.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#fireConfigurationChangedEvent--">fireConfigurationChangedEvent</a></span>()</code>
<div class="block">Requests that a configuration changed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#fireLevelChangedEvent-org.apache.log4j.Logger-">fireLevelChangedEvent</a></span>(org.apache.log4j.Logger&nbsp;logger)</code>
<div class="block">Requests that a level changed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#fireRemoveAppenderEvent-org.apache.log4j.Category-org.apache.log4j.Appender-">fireRemoveAppenderEvent</a></span>(org.apache.log4j.Category&nbsp;logger,
                       org.apache.log4j.Appender&nbsp;appender)</code>
<div class="block">Requests that a appender removed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getErrorList--">getErrorList</a></span>()</code>
<div class="block">Errors which cannot be logged, go to the error list.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>org.apache.log4j.spi.LoggerFactory</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getLoggerFactory--">getLoggerFactory</a></span>()</code>
<div class="block">Returns the logger factory used by
 LoggerRepository.getLogger(String).</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getName--">getName</a></span>()</code>
<div class="block">Get the name of this logger repository.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getObject-java.lang.String-">getObject</a></span>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
<div class="block">A LoggerRepository can also act as a store for various objects used
 by log4j components.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/log4j/plugins/PluginRegistry.html" title="class in org.apache.log4j.plugins">PluginRegistry</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getPluginRegistry--">getPluginRegistry</a></span>()</code>
<div class="block">Return the PluginRegisty for this LoggerRepository.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getProperties--">getProperties</a></span>()</code>
<div class="block">Get the properties specific for this repository.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getProperty-java.lang.String-">getProperty</a></span>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
<div class="block">Get the property of this repository.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/log4j/scheduler/Scheduler.html" title="class in org.apache.log4j.scheduler">Scheduler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#getScheduler--">getScheduler</a></span>()</code>
<div class="block">Return the <a href="../../../../org/apache/log4j/scheduler/Scheduler.html" title="class in org.apache.log4j.scheduler"><code>Scheduler</code></a> for this LoggerRepository.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#isPristine--">isPristine</a></span>()</code>
<div class="block">Is the current configuration of the repository in its original (pristine)
 state?</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#putObject-java.lang.String-java.lang.Object-">putObject</a></span>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
         <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Store an object under 'key'.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#removeLoggerEventListener-org.apache.log4j.spi.LoggerEventListener-">removeLoggerEventListener</a></span>(<a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi">LoggerEventListener</a>&nbsp;listener)</code>
<div class="block">Remove a <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a> from the repository.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#removeLoggerRepositoryEventListener-org.apache.log4j.spi.LoggerRepositoryEventListener-">removeLoggerRepositoryEventListener</a></span>(<a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi">LoggerRepositoryEventListener</a>&nbsp;listener)</code>
<div class="block">Remove a <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a> from the repository.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#setLoggerFactory-org.apache.log4j.spi.LoggerFactory-">setLoggerFactory</a></span>(org.apache.log4j.spi.LoggerFactory&nbsp;loggerFactory)</code>
<div class="block">Sets the logger factory used by LoggerRepository.getLogger(String).</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#setName-java.lang.String-">setName</a></span>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;repoName)</code>
<div class="block">A logger repository is a named entity.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#setPristine-boolean-">setPristine</a></span>(boolean&nbsp;state)</code>
<div class="block">Set the pristine flag.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></span>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
           <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block">Set a property of this repository.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.log4j.spi.LoggerRepository">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.log4j.spi.LoggerRepository</h3>
<code>addHierarchyEventListener, emitNoAppenderWarning, exists, fireAddAppenderEvent, getCurrentCategories, getCurrentLoggers, getLogger, getLogger, getRootLogger, getThreshold, isDisabled, resetConfiguration, setThreshold, setThreshold, shutdown</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="addLoggerRepositoryEventListener-org.apache.log4j.spi.LoggerRepositoryEventListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLoggerRepositoryEventListener</h4>
<pre>void&nbsp;addLoggerRepositoryEventListener(<a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi">LoggerRepositoryEventListener</a>&nbsp;listener)</pre>
<div class="block">Add a <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a> to the repository. The
    listener will be called when repository events occur.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - event listener, may not be null.</dd>
</dl>
</li>
</ul>
<a name="removeLoggerRepositoryEventListener-org.apache.log4j.spi.LoggerRepositoryEventListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeLoggerRepositoryEventListener</h4>
<pre>void&nbsp;removeLoggerRepositoryEventListener(<a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi">LoggerRepositoryEventListener</a>&nbsp;listener)</pre>
<div class="block">Remove a <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a> from the repository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - listener.</dd>
</dl>
</li>
</ul>
<a name="addLoggerEventListener-org.apache.log4j.spi.LoggerEventListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLoggerEventListener</h4>
<pre>void&nbsp;addLoggerEventListener(<a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi">LoggerEventListener</a>&nbsp;listener)</pre>
<div class="block">Add a <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a> to the repository. The  listener
    will be called when repository events occur.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - listener, may not be null.</dd>
</dl>
</li>
</ul>
<a name="removeLoggerEventListener-org.apache.log4j.spi.LoggerEventListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeLoggerEventListener</h4>
<pre>void&nbsp;removeLoggerEventListener(<a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi">LoggerEventListener</a>&nbsp;listener)</pre>
<div class="block">Remove a <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a> from the repository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - listener, may not be null.</dd>
</dl>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">Get the name of this logger repository.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name, may not be null.</dd>
</dl>
</li>
</ul>
<a name="setName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre>void&nbsp;setName(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;repoName)</pre>
<div class="block">A logger repository is a named entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>repoName</code> - new name, may not be null.</dd>
</dl>
</li>
</ul>
<a name="isPristine--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPristine</h4>
<pre>boolean&nbsp;isPristine()</pre>
<div class="block">Is the current configuration of the repository in its original (pristine)
 state?</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if repository is in original state.</dd>
</dl>
</li>
</ul>
<a name="setPristine-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPristine</h4>
<pre>void&nbsp;setPristine(boolean&nbsp;state)</pre>
<div class="block">Set the pristine flag.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - state</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEx.html#isPristine--"><code>isPristine()</code></a></dd>
</dl>
</li>
</ul>
<a name="fireRemoveAppenderEvent-org.apache.log4j.Category-org.apache.log4j.Appender-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireRemoveAppenderEvent</h4>
<pre>void&nbsp;fireRemoveAppenderEvent(org.apache.log4j.Category&nbsp;logger,
                             org.apache.log4j.Appender&nbsp;appender)</pre>
<div class="block">Requests that a appender removed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>logger</code> - The logger from which the appender was removed.</dd>
<dd><code>appender</code> - The appender removed from the logger.</dd>
</dl>
</li>
</ul>
<a name="fireLevelChangedEvent-org.apache.log4j.Logger-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireLevelChangedEvent</h4>
<pre>void&nbsp;fireLevelChangedEvent(org.apache.log4j.Logger&nbsp;logger)</pre>
<div class="block">Requests that a level changed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerEventListener</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>logger</code> - The logger which changed levels.</dd>
</dl>
</li>
</ul>
<a name="fireConfigurationChangedEvent--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireConfigurationChangedEvent</h4>
<pre>void&nbsp;fireConfigurationChangedEvent()</pre>
<div class="block">Requests that a configuration changed event be sent to any registered
    <a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><code>LoggerRepositoryEventListener</code></a>.</div>
</li>
</ul>
<a name="getPluginRegistry--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPluginRegistry</h4>
<pre><a href="../../../../org/apache/log4j/plugins/PluginRegistry.html" title="class in org.apache.log4j.plugins">PluginRegistry</a>&nbsp;getPluginRegistry()</pre>
<div class="block">Return the PluginRegisty for this LoggerRepository.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>plug in registry.</dd>
</dl>
</li>
</ul>
<a name="getScheduler--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduler</h4>
<pre><a href="../../../../org/apache/log4j/scheduler/Scheduler.html" title="class in org.apache.log4j.scheduler">Scheduler</a>&nbsp;getScheduler()</pre>
<div class="block">Return the <a href="../../../../org/apache/log4j/scheduler/Scheduler.html" title="class in org.apache.log4j.scheduler"><code>Scheduler</code></a> for this LoggerRepository.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>scheduler.</dd>
</dl>
</li>
</ul>
<a name="getProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;getProperties()</pre>
<div class="block">Get the properties specific for this repository.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>property map.</dd>
</dl>
</li>
</ul>
<a name="getProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getProperty(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
<div class="block">Get the property of this repository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - property key.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>key value or null if not set.</dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>void&nbsp;setProperty(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                 <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block">Set a property of this repository.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - key, may not be null.</dd>
<dd><code>value</code> - new value, if null, property will be removed.</dd>
</dl>
</li>
</ul>
<a name="getErrorList--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getErrorList</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;getErrorList()</pre>
<div class="block">Errors which cannot be logged, go to the error list.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List</dd>
</dl>
</li>
</ul>
<a name="addErrorItem-org.apache.log4j.spi.ErrorItem-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addErrorItem</h4>
<pre>void&nbsp;addErrorItem(<a href="../../../../org/apache/log4j/spi/ErrorItem.html" title="class in org.apache.log4j.spi">ErrorItem</a>&nbsp;errorItem)</pre>
<div class="block">Errors which cannot be logged, go to the error list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>errorItem</code> - an ErrorItem to add to the error list</dd>
</dl>
</li>
</ul>
<a name="getObject-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObject</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getObject(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
<div class="block">A LoggerRepository can also act as a store for various objects used
 by log4j components.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - key, may not be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The object stored under 'key'.</dd>
</dl>
</li>
</ul>
<a name="putObject-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putObject</h4>
<pre>void&nbsp;putObject(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
               <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Store an object under 'key'. If no object can be found, null is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - key, may not be null.</dd>
<dd><code>value</code> - value, may be null.</dd>
</dl>
</li>
</ul>
<a name="setLoggerFactory-org.apache.log4j.spi.LoggerFactory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoggerFactory</h4>
<pre>void&nbsp;setLoggerFactory(org.apache.log4j.spi.LoggerFactory&nbsp;loggerFactory)</pre>
<div class="block">Sets the logger factory used by LoggerRepository.getLogger(String).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loggerFactory</code> - factory to use, may not be null</dd>
</dl>
</li>
</ul>
<a name="getLoggerFactory--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLoggerFactory</h4>
<pre>org.apache.log4j.spi.LoggerFactory&nbsp;getLoggerFactory()</pre>
<div class="block">Returns the logger factory used by
 LoggerRepository.getLogger(String).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-null factory</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LoggerRepositoryEx.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/log4j/spi/LoggerRepositoryEventListener.html" title="interface in org.apache.log4j.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/log4j/spi/NOPULogger.html" title="class in org.apache.log4j.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/log4j/spi/LoggerRepositoryEx.html" target="_top">Frames</a></li>
<li><a href="LoggerRepositoryEx.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><p align="center">Copyright &#169; 2002-2017 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.<br />           Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo,           and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p></small></p>
</body>
</html>
