<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>LoggerRepository xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/LoggerRepository.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.spi;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Category;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Level;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment">/**</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">   A &lt;code&gt;LoggerRepository&lt;/code&gt; is used to create and retrieve</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">   &lt;code&gt;Loggers&lt;/code&gt;. The relation between loggers in a repository</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment">   depends on the repository but typically loggers are arranged in a</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment">   named hierarchy.</em>
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">   &lt;p&gt;In addition to the creational methods, a</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">   &lt;code&gt;LoggerRepository&lt;/code&gt; can be queried for existing loggers,</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">   can act as a point of registry for events related to loggers.</em>
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment">   @author Ceki G&amp;uuml;lc&amp;uuml;</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">   @since 1.2 */</em>
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> {
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>    <em class="jxr_javadoccomment">/**</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     Add a {@link HierarchyEventListener} event to the repository.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">  */</em>
<a name="44" href="#44">44</a>    <strong class="jxr_keyword">public</strong>
<a name="45" href="#45">45</a>    <strong class="jxr_keyword">void</strong> addHierarchyEventListener(<a href="../../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener);
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>    <em class="jxr_javadoccomment">/**</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     Returns whether this repository is disabled for a given</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     level. The answer depends on the repository threshold and the</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">     &lt;code&gt;level&lt;/code&gt; parameter. See also {@link #setThreshold}</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     method.  */</em>
<a name="52" href="#52">52</a>    <strong class="jxr_keyword">boolean</strong> isDisabled(<strong class="jxr_keyword">int</strong> level);
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>    <em class="jxr_javadoccomment">/**</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     Set the repository-wide threshold. All logging requests below the</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">     threshold are immediately dropped. By default, the threshold is</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     set to &lt;code&gt;Level.ALL&lt;/code&gt; which has the lowest possible rank.  */</em>
<a name="58" href="#58">58</a>    <strong class="jxr_keyword">public</strong>
<a name="59" href="#59">59</a>    <strong class="jxr_keyword">void</strong> setThreshold(<a href="../../../../org/apache/log4j/Level.html">Level</a> level);
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>    <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">      Another form of {@link #setThreshold(Level)} accepting a string</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">      parameter instead of a &lt;code&gt;Level&lt;/code&gt;. */</em>
<a name="64" href="#64">64</a>    <strong class="jxr_keyword">public</strong>
<a name="65" href="#65">65</a>    <strong class="jxr_keyword">void</strong> setThreshold(String val);
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>    <strong class="jxr_keyword">public</strong>
<a name="68" href="#68">68</a>    <strong class="jxr_keyword">void</strong> emitNoAppenderWarning(<a href="../../../../org/apache/log4j/Category.html">Category</a> cat);
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>    <em class="jxr_javadoccomment">/**</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     Get the repository-wide threshold. See {@link</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     #setThreshold(Level)} for an explanation. */</em>
<a name="73" href="#73">73</a>    <strong class="jxr_keyword">public</strong>
<a name="74" href="#74">74</a>    <a href="../../../../org/apache/log4j/Level.html">Level</a> getThreshold();
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>    <strong class="jxr_keyword">public</strong>
<a name="77" href="#77">77</a>    <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name);
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>    <strong class="jxr_keyword">public</strong>
<a name="80" href="#80">80</a>    <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name, <a href="../../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory);
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>    <strong class="jxr_keyword">public</strong>
<a name="83" href="#83">83</a>    <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger();
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>    <strong class="jxr_keyword">public</strong>
<a name="86" href="#86">86</a>    <strong class="jxr_keyword">abstract</strong>
<a name="87" href="#87">87</a>    <a href="../../../../org/apache/log4j/Logger.html">Logger</a> exists(String name);
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>    <strong class="jxr_keyword">public</strong>
<a name="90" href="#90">90</a>    <strong class="jxr_keyword">abstract</strong>
<a name="91" href="#91">91</a>    <strong class="jxr_keyword">void</strong> shutdown();
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>    <strong class="jxr_keyword">public</strong>
<a name="94" href="#94">94</a>    Enumeration getCurrentLoggers();
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>    <em class="jxr_javadoccomment">/**</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     Deprecated. Please use {@link #getCurrentLoggers} instead.  */</em>
<a name="98" href="#98">98</a>    <strong class="jxr_keyword">public</strong>
<a name="99" href="#99">99</a>    Enumeration getCurrentCategories();
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>   <strong class="jxr_keyword">public</strong>
<a name="103" href="#103">103</a>   <strong class="jxr_keyword">abstract</strong>
<a name="104" href="#104">104</a>   <strong class="jxr_keyword">void</strong> fireAddAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> logger, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender);
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>   <strong class="jxr_keyword">public</strong>
<a name="107" href="#107">107</a>   <strong class="jxr_keyword">abstract</strong>
<a name="108" href="#108">108</a>   <strong class="jxr_keyword">void</strong> resetConfiguration();
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

