blob: ee7b163b38d292a11c9ba01a050d43f290e92043 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for D:\work\log4php-trunk\src\main\php/LoggerHierarchy.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">D:\work\log4php-trunk\src\main\php</a> <span class="divider">/</span></li>
<li class="active">LoggerHierarchy.php</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="danger">Total</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 78.57%;"></div>
</div>
</td>
<td class="success small"><div align="right">78.57%</div></td>
<td class="success small"><div align="right">11 / 14</div></td>
<td class="success small"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 79.37%;"></div>
</div>
</td>
<td class="success small"><div align="right">79.37%</div></td>
<td class="success small"><div align="right">50 / 63</div></td>
</tr>
<tr>
<td class="danger">LoggerHierarchy</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 78.57%;"></div>
</div>
</td>
<td class="success small"><div align="right">78.57%</div></td>
<td class="success small"><div align="right">11 / 14</div></td>
<td class="success small">33.41</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 79.37%;"></div>
</div>
</td>
<td class="success small"><div align="right">79.37%</div></td>
<td class="success small"><div align="right">50 / 63</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#78">__construct(LoggerRoot $root)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">4 / 4</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#87">clear()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">2 / 2</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#96">exists($name)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#104">getCurrentLoggers()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#114">getLogger($name)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">8</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">20 / 20</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#151">getRendererMap()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#159">getRootLogger()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#167">getThreshold()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#176">isDisabled(LoggerLevel $level)</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#194">resetConfiguration()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">2</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">12 / 12</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#215">setThreshold(LoggerLevel $threshold)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">2 / 2</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#230">shutdown()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1 / 1</div></td>
<td class="success small">2</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">5 / 5</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#241">printHierarchy()</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
<td class="danger small">2</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 2</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#245">printHierarchyInner(Logger $current, $level)</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 1</div></td>
<td class="danger small">30</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0 / 10</div></td>
</tr>
</tbody>
</table>
<table class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine">/**</td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"> * Licensed to the Apache Software Foundation (ASF) under one or more</td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"> * contributor license agreements. See the NOTICE file distributed with</td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"> * this work for additional information regarding copyright ownership.</td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"> * The ASF licenses this file to You under the Apache License, Version 2.0</td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"> * (the &quot;License&quot;); you may not use this file except in compliance with</td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"> * the License. You may obtain a copy of the License at</td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"> * http://www.apache.org/licenses/LICENSE-2.0</td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> * Unless required by applicable law or agreed to in writing, software</td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</td></tr>
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> * See the License for the specific language governing permissions and</td></tr>
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"> * limitations under the License.</td></tr>
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"> * @package log4php</td></tr>
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine">/**</td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"> * This class is specialized in retrieving loggers by name and also maintaining</td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"> * the logger hierarchy. The logger hierarchy is dealing with the several Log-Levels</td></tr>
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> * Logger can have. From log4j website:</td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> * &quot;A logger is said to be an ancestor of another logger if its name followed</td></tr>
<tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> * by a dot is a prefix of the descendant logger name. A logger is said to be</td></tr>
<tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> * a parent of a child logger if there are no ancestors between itself and the</td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> * descendant logger.&quot;</td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> * Child Loggers do inherit their Log-Levels from their Ancestors. They can</td></tr>
<tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"> * increase their Log-Level compared to their Ancestors, but they cannot decrease it.</td></tr>
<tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> * &lt;p&gt;The casual user does not have to deal with this class directly.&lt;/p&gt;</td></tr>
<tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> * &lt;p&gt;The structure of the logger hierarchy is maintained by the</td></tr>
<tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> * getLogger method. The hierarchy is such that children link</td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"> * to their parent but parents do not have any pointers to their</td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"> * children. Moreover, loggers can be instantiated in any order, in</td></tr>
<tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"> * particular descendant before ancestor.&lt;/p&gt;</td></tr>
<tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"> * &lt;p&gt;In case a descendant is created before a particular ancestor,</td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"> * then it creates a provision node for the ancestor and adds itself</td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"> * to the provision node. Other descendants of the same ancestor add</td></tr>
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"> * themselves to the previously created provision node.&lt;/p&gt;</td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> * @version $Revision: 1394956 $</td></tr>
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"> * @package log4php</td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine">class LoggerHierarchy {</td></tr>
<tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"> /** Array holding all Logger instances. */</td></tr>
<tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"> protected $loggers = array();</td></tr>
<tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"> * The root logger.</td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"> * @var RootLogger</td></tr>
<tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"> protected $root;</td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"> * The logger renderer map.</td></tr>
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"> * @var LoggerRendererMap</td></tr>
<tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"> protected $rendererMap;</td></tr>
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"> * Main level threshold. Events with lower level will not be logged by any</td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"> * logger, regardless of it's configuration.</td></tr>
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"> * @var LoggerLevel</td></tr>
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"> protected $threshold;</td></tr>
<tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"> * Creates a new logger hierarchy.</td></tr>
<tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"> * @param LoggerRoot $root The root logger.</td></tr>
<tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"> public function __construct(LoggerRoot $root) {</td></tr>
<tr class="success popin" data-title="5 tests cover line 79" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"> $this-&gt;root = $root;</td></tr>
<tr class="success popin" data-title="5 tests cover line 80" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"> $this-&gt;setThreshold(LoggerLevel::getLevelAll());</td></tr>
<tr class="success popin" data-title="5 tests cover line 81" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"> $this-&gt;rendererMap = new LoggerRendererMap();</td></tr>
<tr class="success popin" data-title="5 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"> * Clears all loggers.</td></tr>
<tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"> public function clear() {</td></tr>
<tr class="success popin" data-title="66 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"> $this-&gt;loggers = array();</td></tr>
<tr class="success popin" data-title="66 tests cover line 89" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"> * Check if the named logger exists in the hierarchy.</td></tr>
<tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"> * @param string $name</td></tr>
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"> * @return boolean</td></tr>
<tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"> public function exists($name) {</td></tr>
<tr class="success popin" data-title="3 tests cover line 97" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"> return isset($this-&gt;loggers[$name]);</td></tr>
<tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"> * Returns all the currently defined loggers in this hierarchy as an array.</td></tr>
<tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"> * @return array</td></tr>
<tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"> public function getCurrentLoggers() {</td></tr>
<tr class="success popin" data-title="4 tests cover line 105" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"> return array_values($this-&gt;loggers);</td></tr>
<tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"> * Returns a named logger instance logger. If it doesn't exist, one is created.</td></tr>
<tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"> * @param string $name Logger name</td></tr>
<tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"> * @return Logger Logger instance.</td></tr>
<tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"> public function getLogger($name) {</td></tr>
<tr class="success popin" data-title="27 tests cover line 115" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testRolloverWithCompression&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"> if(!isset($this-&gt;loggers[$name])) {</td></tr>
<tr class="success popin" data-title="24 tests cover line 116" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"> $logger = new Logger($name);</td></tr>
<tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="24 tests cover line 118" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"> $nodes = explode('.', $name);</td></tr>
<tr class="success popin" data-title="24 tests cover line 119" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"> $firstNode = array_shift($nodes);</td></tr>
<tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"> // if name is not a first node but another first node is their</td></tr>
<tr class="success popin" data-title="24 tests cover line 122" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"> if($firstNode != $name and isset($this-&gt;loggers[$firstNode])) {</td></tr>
<tr class="success popin" data-title="4 tests cover line 123" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"> $logger-&gt;setParent($this-&gt;loggers[$firstNode]);</td></tr>
<tr class="success popin" data-title="4 tests cover line 124" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"> } else {</td></tr>
<tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"> // if there is no father, set root logger as father</td></tr>
<tr class="success popin" data-title="24 tests cover line 126" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"> $logger-&gt;setParent($this-&gt;root);</td></tr>
<tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"> // if there are more nodes than one</td></tr>
<tr class="success popin" data-title="24 tests cover line 130" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"> if(count($nodes) &gt; 0) {</td></tr>
<tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"> // find parent node</td></tr>
<tr class="success popin" data-title="4 tests cover line 132" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"> foreach($nodes as $node) {</td></tr>
<tr class="success popin" data-title="4 tests cover line 133" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"> $parentNode = &quot;$firstNode.$node&quot;;</td></tr>
<tr class="success popin" data-title="4 tests cover line 134" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"> if(isset($this-&gt;loggers[$parentNode]) and $parentNode != $name) {</td></tr>
<tr class="success popin" data-title="3 tests cover line 135" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"> $logger-&gt;setParent($this-&gt;loggers[$parentNode]);</td></tr>
<tr class="success popin" data-title="3 tests cover line 136" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"> }</td></tr>
<tr class="success popin" data-title="4 tests cover line 137" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"> $firstNode .= &quot;.$node&quot;;</td></tr>
<tr class="success popin" data-title="4 tests cover line 138" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"> }</td></tr>
<tr class="success popin" data-title="4 tests cover line 139" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="24 tests cover line 141" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"> $this-&gt;loggers[$name] = $logger;</td></tr>
<tr class="success popin" data-title="24 tests cover line 142" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="27 tests cover line 144" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testLoggingViaLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderRollingFileTest::testRolloverWithCompression&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"> return $this-&gt;loggers[$name];</td></tr>
<tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"> * Returns the logger renderer map.</td></tr>
<tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"> * @return LoggerRendererMap</td></tr>
<tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"> public function getRendererMap() {</td></tr>
<tr class="success popin" data-title="4 tests cover line 152" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"> return $this-&gt;rendererMap;</td></tr>
<tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"> * Returns the root logger.</td></tr>
<tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"> * @return LoggerRoot</td></tr>
<tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"> public function getRootLogger() {</td></tr>
<tr class="success popin" data-title="68 tests cover line 160" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"> return $this-&gt;root;</td></tr>
<tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"> * Returns the main threshold level.</td></tr>
<tr><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"> * @return LoggerLevel</td></tr>
<tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"> public function getThreshold() {</td></tr>
<tr class="success popin" data-title="2 tests cover line 168" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"> return $this-&gt;threshold;</td></tr>
<tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"> * Returns true if the hierarchy is disabled for given log level and false</td></tr>
<tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"> * otherwise.</td></tr>
<tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"> * @return boolean</td></tr>
<tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"> public function isDisabled(LoggerLevel $level) {</td></tr>
<tr class="danger"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"> return ($this-&gt;threshold-&gt;toInt() &gt; $level-&gt;toInt());</td></tr>
<tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"> * Reset all values contained in this hierarchy instance to their</td></tr>
<tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"> * default.</td></tr>
<tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"> * This removes all appenders from all loggers, sets</td></tr>
<tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"> * the level of all non-root loggers to &lt;i&gt;null&lt;/i&gt;,</td></tr>
<tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"> * sets their additivity flag to &lt;i&gt;true&lt;/i&gt; and sets the level</td></tr>
<tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"> * of the root logger to {@link LOGGER_LEVEL_DEBUG}.</td></tr>
<tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"> * &lt;p&gt;Existing loggers are not removed. They are just reset.</td></tr>
<tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"> * &lt;p&gt;This method should be used sparingly and with care as it will</td></tr>
<tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"> * block all logging until it is completed.&lt;/p&gt;</td></tr>
<tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"> public function resetConfiguration() {</td></tr>
<tr class="success popin" data-title="65 tests cover line 195" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"> $root = $this-&gt;getRootLogger();</td></tr>
<tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="65 tests cover line 197" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"> $root-&gt;setLevel(LoggerLevel::getLevelDebug());</td></tr>
<tr class="success popin" data-title="65 tests cover line 198" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"> $this-&gt;setThreshold(LoggerLevel::getLevelAll());</td></tr>
<tr class="success popin" data-title="65 tests cover line 199" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"> $this-&gt;shutDown();</td></tr>
<tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="65 tests cover line 201" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"> foreach($this-&gt;loggers as $logger) {</td></tr>
<tr class="success popin" data-title="10 tests cover line 202" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"> $logger-&gt;setLevel(null);</td></tr>
<tr class="success popin" data-title="10 tests cover line 203" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"> $logger-&gt;setAdditivity(true);</td></tr>
<tr class="success popin" data-title="10 tests cover line 204" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"> $logger-&gt;removeAllAppenders();</td></tr>
<tr class="success popin" data-title="65 tests cover line 205" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="65 tests cover line 207" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"> $this-&gt;rendererMap-&gt;reset();</td></tr>
<tr class="success popin" data-title="65 tests cover line 208" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"> LoggerAppenderPool::clear();</td></tr>
<tr class="success popin" data-title="65 tests cover line 209" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"> * Sets the main threshold level.</td></tr>
<tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"> * @param LoggerLevel $l</td></tr>
<tr><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"> public function setThreshold(LoggerLevel $threshold) {</td></tr>
<tr class="success popin" data-title="68 tests cover line 216" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"> $this-&gt;threshold = $threshold;</td></tr>
<tr class="success popin" data-title="68 tests cover line 217" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testSettingParents&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testExists&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testClear&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"> * Shutting down a hierarchy will &lt;i&gt;safely&lt;/i&gt; close and remove</td></tr>
<tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"> * all appenders in all loggers including the root logger.</td></tr>
<tr><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"> * The shutdown method is careful to close nested</td></tr>
<tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"> * appenders before closing regular appenders. This is allows</td></tr>
<tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"> * configurations where a regular appender is attached to a logger</td></tr>
<tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"> * and again to a nested appender.</td></tr>
<tr><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"> * @todo Check if the last paragraph is correct.</td></tr>
<tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"> public function shutdown() {</td></tr>
<tr class="success popin" data-title="68 tests cover line 231" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"> $this-&gt;root-&gt;removeAllAppenders();</td></tr>
<tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="68 tests cover line 233" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"> foreach($this-&gt;loggers as $logger) {</td></tr>
<tr class="success popin" data-title="13 tests cover line 234" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"> $logger-&gt;removeAllAppenders();</td></tr>
<tr class="success popin" data-title="68 tests cover line 235" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"> }</td></tr>
<tr class="success popin" data-title="68 tests cover line 236" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testDefaultConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInputIsInteger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testYAMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderConfigNotArray&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerAddivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingLoggerAppendersClass&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNonexistantFileFallback&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppendersWithLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testAppenderInvalidThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRootLoggerThreshold&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetLocationInformation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLoggingEventTest::testGetThrowableInformation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testLoggerExist&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetRootLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanGetASpecificLogger&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testCanLogToAllLevels&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testIsEnabledFor&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testGetCurrentLoggers&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerTest::testAdditivity2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testHtmlLineBreaks&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testActivationDoesNotCreateTheFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testSimpleLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagTrue&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderFileTest::testAppendFlagFalse&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderPhpTest::testPhp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderSocketTest::testLogging&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testConversion2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testNonExistantFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testInvalidXMLFile&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterDenyAllTest::testConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testAcceptConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerFilterLevelMatchTest::testDenyConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutPatternTest::testComplexLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerLayoutSerializedTest::testLayoutWithLocationInfo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerPatternConverterTest::testLocation2&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"> /**</td></tr>
<tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"> * Prints the current Logger hierarchy tree. Useful for debugging.</td></tr>
<tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"> public function printHierarchy() {</td></tr>
<tr class="danger"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"> $this-&gt;printHierarchyInner($this-&gt;getRootLogger(), 0);</td></tr>
<tr class="danger"><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"> private function printHierarchyInner(Logger $current, $level) {</td></tr>
<tr class="danger"><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"> for ($i = 0; $i &lt; $level; $i++) {</td></tr>
<tr class="danger"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"> echo ($i == $level - 1) ? &quot;|--&quot; : &quot;| &quot;;</td></tr>
<tr class="danger"><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"> }</td></tr>
<tr class="danger"><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"> echo $current-&gt;getName() . &quot;\n&quot;;</td></tr>
<tr><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"></td></tr>
<tr class="danger"><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"> foreach($this-&gt;loggers as $logger) {</td></tr>
<tr class="danger"><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"> if ($logger-&gt;getParent() == $current) {</td></tr>
<tr class="danger"><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"> $this-&gt;printHierarchyInner($logger, $level + 1);</td></tr>
<tr class="danger"><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"> }</td></tr>
<tr class="danger"><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"> }</td></tr>
<tr class="danger"><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine">}</td></tr>
</tbody>
</table>
<footer>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.3</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.13</a> and <a href="http://phpunit.de/">PHPUnit 3.7.6</a> at Sat Oct 13 8:58:14 BST 2012.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
</body>
</html>