blob: 1606edc12fa978dd412d982123a3902be4cf6833 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LoggerConfigurationAdapterXML.php</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="container.css">
<script type="text/javascript" src="yahoo-dom-event.js"></script>
<script type="text/javascript" src="container-min.js"></script>
</head>
<body class="yui-skin-sam">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td class="title">LoggerConfigurationAdapterXML.php</td></tr>
<tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding="1" border="0" width="100%">
<tr>
<td class="headerItem" width="20%">Current file:</td>
<td class="headerValue" width="80%"><a href="index.html">/home/ihabunek/apache/log4php/src/main/php</a>/<a href="configurators.html">configurators</a>/<a href="configurators_LoggerConfigurationAdapterXML.php.html">LoggerConfigurationAdapterXML.php</a></td>
</tr>
<tr>
<td class="legendItem" width="20%">Legend:</td>
<td class="legendValue" width="80%">
<span class="legendCov">executed</span>
<span class="legendNoCov">not executed</span>
<span class="legendDeadCode">dead code</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
</tr>
</table>
<br />
<center>
<table width="90%" cellpadding="2" cellspacing="1" border="0">
<tr>
<td class="tableHead" width="30%">&nbsp;</td>
<td class="tableHead" colspan="10">Coverage</td>
</tr>
<tr>
<td class="tableHead">&nbsp;</td>
<td class="tableHead" colspan="3">Classes</td>
<td class="tableHead" colspan="4">Functions / Methods</td>
<td class="tableHead" colspan="3">Lines</td>
</tr>
<tr>
<td class="coverDirectory">Total</td>
<td class="coverBar">
<div class="coverBarOutline" title="0.00%">
<div class="size scarlet_red" style="width:0%" title="0.00%"></div>
</div>
</td>
<td class="coverPerLo">0.00%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverBar">
<div class="coverBarOutline" title="76.92%">
<div class="size chameleon" style="width:76.923076923077%" title="76.92%"></div>
</div>
</td>
<td class="coverPerHi">76.92%</td>
<td class="coverNumHi">10 / 13</td>
<td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
<td class="coverBar">
<div class="coverBarOutline" title="94.78%">
<div class="size chameleon" style="width:94.782608695652%" title="94.78%"></div>
</div>
</td>
<td class="coverPerHi">94.78%</td>
<td class="coverNumHi">109 / 115</td>
</tr>
<tr>
<td class="coverDirectory">LoggerConfigurationAdapterXML</td>
<td class="coverBar">
<div class="coverBarOutline" title="0.00%">
<div class="size scarlet_red" style="width:0%" title="0.00%"></div>
</div>
</td>
<td class="coverPerLo">0.00%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverBar">
<div class="coverBarOutline" title="76.92%">
<div class="size chameleon" style="width:76.923076923077%" title="76.92%"></div>
</div>
</td>
<td class="coverPerHi">76.92%</td>
<td class="coverNumHi">10 / 13</td>
<td class="crap">38.21</td>
<td class="coverBar">
<div class="coverBarOutline" title="94.78%">
<div class="size chameleon" style="width:94.782608695652%" title="94.78%"></div>
</div>
</td>
<td class="coverPerHi">94.78%</td>
<td class="coverNumHi">109 / 115</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#41">convert($url)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">5</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">15 / 15</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#73">loadXML($url)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">4</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">14 / 14</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#102">parseConfiguration(SimpleXMLElement $xml)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">2</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">5 / 5</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#110">parseAppender(SimpleXMLElement $node)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="0.00%">
<div class="size scarlet_red" style="width:0%" title="0.00%"></div>
</div>
</td>
<td class="coverPerLo">0.00%</td>
<td class="coverNumLo">0 / 1</td>
<td class="crap">6.04</td>
<td class="coverBar">
<div class="coverBarOutline" title="90.00%">
<div class="size chameleon" style="width:90%" title="90.00%"></div>
</div>
</td>
<td class="coverPerHi">90.00%</td>
<td class="coverNumHi">18 / 20</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#140">parseLayout(SimpleXMLElement $node, $appenderName)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">2</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">6 / 6</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#151">parseParameters($paramsNode)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="0.00%">
<div class="size scarlet_red" style="width:0%" title="0.00%"></div>
</div>
</td>
<td class="coverPerLo">0.00%</td>
<td class="coverNumLo">0 / 1</td>
<td class="crap">3.07</td>
<td class="coverBar">
<div class="coverBarOutline" title="80.00%">
<div class="size chameleon" style="width:80%" title="80.00%"></div>
</div>
</td>
<td class="coverPerHi">80.00%</td>
<td class="coverNumHi">8 / 10</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#170">parseRootLogger(SimpleXMLElement $node)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">3</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">9 / 9</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#186">parseLogger(SimpleXMLElement $node)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="0.00%">
<div class="size scarlet_red" style="width:0%" title="0.00%"></div>
</div>
</td>
<td class="coverPerLo">0.00%</td>
<td class="coverNumLo">0 / 1</td>
<td class="crap">5.05</td>
<td class="coverBar">
<div class="coverBarOutline" title="87.50%">
<div class="size chameleon" style="width:87.5%" title="87.50%"></div>
</div>
</td>
<td class="coverPerHi">87.50%</td>
<td class="coverNumHi">14 / 16</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#216">parseAppenderReferences(SimpleXMLElement $node, $name)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">2</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">5 / 5</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#226">parseFilter($filterNode)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">2</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">6 / 6</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#238">parseRenderer(SimpleXMLElement $node)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">1</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">3 / 3</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#249">getAttributeValue(SimpleXMLElement $node, $name)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">2</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
</tr>
<tr>
<td class="coverFile" colspan="4">&nbsp;<a href="#253">warn($message)</a></td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
<td class="crap">1</td>
<td class="coverBar">
<div class="coverBarOutline" title="100.00%">
<div class="size chameleon" style="width:100%" title="100.00%"></div>
</div>
</td>
<td class="coverPerHi">100.00%</td>
<td class="coverNumHi">1 / 1</td>
</tr>
</table>
</center>
<br />
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><br /></td>
</tr>
<tr>
<td>
<pre class="source">
<span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1"> 1</a> </span> : &lt;?php
<span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2"> 2</a> </span> : /**
<span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3"> 3</a> </span> : * Licensed to the Apache Software Foundation (ASF) under one or more
<span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4"> 4</a> </span> : * contributor license agreements. See the NOTICE file distributed with
<span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5"> 5</a> </span> : * this work for additional information regarding copyright ownership.
<span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6"> 6</a> </span> : * The ASF licenses this file to You under the Apache License, Version 2.0
<span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7"> 7</a> </span> : * (the &quot;License&quot;); you may not use this file except in compliance with
<span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8"> 8</a> </span> : * the License. You may obtain a copy of the License at
<span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9"> 9</a> </span> : *
<span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10"> 10</a> </span> : * http://www.apache.org/licenses/LICENSE-2.0
<span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11"> 11</a> </span> : *
<span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12"> 12</a> </span> : * Unless required by applicable law or agreed to in writing, software
<span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13"> 13</a> </span> : * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
<span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14"> 14</a> </span> : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
<span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15"> 15</a> </span> : * See the License for the specific language governing permissions and
<span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16"> 16</a> </span> : * limitations under the License.
<span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17"> 17</a> </span> : *
<span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18"> 18</a> </span> : * @package log4php
<span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19"> 19</a> </span> : */
<span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20"> 20</a> </span> :
<span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21"> 21</a> </span> : /**
<span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22"> 22</a> </span> : * Converts XML configuration files to a PHP array.
<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23"> 23</a> </span> : *
<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24"> 24</a> </span> : * @package log4php
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25"> 25</a> </span> : * @subpackage configurators
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26"> 26</a> </span> : * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27"> 27</a> </span> : * @version $Revision$
<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28"> 28</a> </span> : * @since 2.2
<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29"> 29</a> </span> : */
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30"> 30</a> </span> : class LoggerConfigurationAdapterXML implements LoggerConfigurationAdapter
<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31"> 31</a> </span> : {
<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32"> 32</a> </span> : /** Path to the XML schema used for validation. */
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33"> 33</a> </span> : const SCHEMA_PATH = '/../xml/log4php.xsd';
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34"> 34</a> </span> :
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35"> 35</a> </span> : private $config = array(
<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36"> 36</a> </span> : 'appenders' =&gt; array(),
<span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37"> 37</a> </span> : 'loggers' =&gt; array(),
<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38"> 38</a> </span> : 'renderers' =&gt; array(),
<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39"> 39</a> </span> : );
<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40"> 40</a> </span> :
<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41"> 41</a> </span> : public function convert($url)
<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42"> 42</a> </span> : {
<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43"> 43</a> </span><span class="lineCov"> 21 : $xml = $this-&gt;loadXML($url); </span>
<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44"> 44</a> </span> :
<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45"> 45</a> </span><span class="lineCov"> 19 : $this-&gt;parseConfiguration($xml); </span>
<span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46"> 46</a> </span> :
<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47"> 47</a> </span> : // Parse the &lt;root&gt; node
<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48"> 48</a> </span><span class="lineCov"> 19 : if (isset($xml-&gt;root)) { </span>
<span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49"> 49</a> </span><span class="lineCov"> 18 : $this-&gt;parseRootLogger($xml-&gt;root); </span>
<span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50"> 50</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51"> 51</a> </span> :
<span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52"> 52</a> </span> : // Process &lt;logger&gt; nodes
<span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53"> 53</a> </span><span class="lineCov"> 19 : foreach($xml-&gt;logger as $logger) { </span>
<span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54"> 54</a> </span><span class="lineCov"> 5 : $this-&gt;parseLogger($logger); </span>
<span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55"> 55</a> </span><span class="lineCov"> 19 : } </span>
<span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56"> 56</a> </span> :
<span class="lineNum" id="container57"><a name="57"></a><a href="#57" id="line57"> 57</a> </span> : // Process &lt;appender&gt; nodes
<span class="lineNum" id="container58"><a name="58"></a><a href="#58" id="line58"> 58</a> </span><span class="lineCov"> 18 : foreach($xml-&gt;appender as $appender) { </span>
<span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59"> 59</a> </span><span class="lineCov"> 17 : $this-&gt;parseAppender($appender); </span>
<span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60"> 60</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61"> 61</a> </span> :
<span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62"> 62</a> </span> : // Process &lt;renderer&gt; nodes
<span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63"> 63</a> </span><span class="lineCov"> 18 : foreach($xml-&gt;renderer as $rendererNode) { </span>
<span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64"> 64</a> </span><span class="lineCov"> 6 : $this-&gt;parseRenderer($rendererNode); </span>
<span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65"> 65</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66"> 66</a> </span><span class="lineCov"> 18 : return $this-&gt;config; </span>
<span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67"> 67</a> </span> : }
<span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68"> 68</a> </span> :
<span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69"> 69</a> </span> : /**
<span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70"> 70</a> </span> : * Loads and validates the XML.
<span class="lineNum" id="container71"><a name="71"></a><a href="#71" id="line71"> 71</a> </span> : * @param string $url Input XML.
<span class="lineNum" id="container72"><a name="72"></a><a href="#72" id="line72"> 72</a> </span> : */
<span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73"> 73</a> </span> : private function loadXML($url) {
<span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74"> 74</a> </span><span class="lineCov"> 21 : if (!file_exists($url)) { </span>
<span class="lineNum" id="container75"><a name="75"></a><a href="#75" id="line75"> 75</a> </span><span class="lineCov"> 1 : throw new LoggerException(&quot;File [$url] does not exist.&quot;); </span>
<span class="lineNum" id="container76"><a name="76"></a><a href="#76" id="line76"> 76</a> </span> : }
<span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77"> 77</a> </span> :
<span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78"> 78</a> </span><span class="lineCov"> 20 : libxml_clear_errors(); </span>
<span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79"> 79</a> </span><span class="lineCov"> 20 : $oldValue = libxml_use_internal_errors(true); </span>
<span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80"> 80</a> </span> :
<span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81"> 81</a> </span> : // Load XML
<span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82"> 82</a> </span><span class="lineCov"> 20 : $xml = @simplexml_load_file($url); </span>
<span class="lineNum" id="container83"><a name="83"></a><a href="#83" id="line83"> 83</a> </span><span class="lineCov"> 20 : if ($xml === false) { </span>
<span class="lineNum" id="container84"><a name="84"></a><a href="#84" id="line84"> 84</a> </span> :
<span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85"> 85</a> </span><span class="lineCov"> 1 : $errorStr = &quot;&quot;; </span>
<span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86"> 86</a> </span><span class="lineCov"> 1 : foreach(libxml_get_errors() as $error) { </span>
<span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87"> 87</a> </span><span class="lineCov"> 1 : $errorStr .= $error-&gt;message; </span>
<span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88"> 88</a> </span><span class="lineCov"> 1 : } </span>
<span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89"> 89</a> </span> :
<span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90"> 90</a> </span><span class="lineCov"> 1 : throw new LoggerException(&quot;Error loading configuration file: &quot; . trim($errorStr)); </span>
<span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91"> 91</a> </span> : }
<span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92"> 92</a> </span> :
<span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93"> 93</a> </span><span class="lineCov"> 19 : libxml_clear_errors(); </span>
<span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94"> 94</a> </span><span class="lineCov"> 19 : libxml_use_internal_errors($oldValue); </span>
<span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95"> 95</a> </span> :
<span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96"> 96</a> </span><span class="lineCov"> 19 : return $xml; </span>
<span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97"> 97</a> </span> : }
<span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98"> 98</a> </span> :
<span class="lineNum" id="container99"><a name="99"></a><a href="#99" id="line99"> 99</a> </span> : /**
<span class="lineNum" id="container100"><a name="100"></a><a href="#100" id="line100"> 100</a> </span> : * Parses the &lt;configuration&gt; node.
<span class="lineNum" id="container101"><a name="101"></a><a href="#101" id="line101"> 101</a> </span> : */
<span class="lineNum" id="container102"><a name="102"></a><a href="#102" id="line102"> 102</a> </span> : private function parseConfiguration(SimpleXMLElement $xml) {
<span class="lineNum" id="container103"><a name="103"></a><a href="#103" id="line103"> 103</a> </span><span class="lineCov"> 19 : $attributes = $xml-&gt;attributes(); </span>
<span class="lineNum" id="container104"><a name="104"></a><a href="#104" id="line104"> 104</a> </span><span class="lineCov"> 19 : if (isset($attributes['threshold'])) { </span>
<span class="lineNum" id="container105"><a name="105"></a><a href="#105" id="line105"> 105</a> </span><span class="lineCov"> 8 : $this-&gt;config['threshold'] = (string) $attributes['threshold']; </span>
<span class="lineNum" id="container106"><a name="106"></a><a href="#106" id="line106"> 106</a> </span><span class="lineCov"> 8 : } </span>
<span class="lineNum" id="container107"><a name="107"></a><a href="#107" id="line107"> 107</a> </span><span class="lineCov"> 19 : } </span>
<span class="lineNum" id="container108"><a name="108"></a><a href="#108" id="line108"> 108</a> </span> :
<span class="lineNum" id="container109"><a name="109"></a><a href="#109" id="line109"> 109</a> </span> : /** Parses an &lt;appender&gt; node. */
<span class="lineNum" id="container110"><a name="110"></a><a href="#110" id="line110"> 110</a> </span> : private function parseAppender(SimpleXMLElement $node) {
<span class="lineNum" id="container111"><a name="111"></a><a href="#111" id="line111"> 111</a> </span><span class="lineCov"> 17 : $name = $this-&gt;getAttributeValue($node, 'name'); </span>
<span class="lineNum" id="container112"><a name="112"></a><a href="#112" id="line112"> 112</a> </span><span class="lineCov"> 17 : if (empty($name)) { </span>
<span class="lineNum" id="container113"><a name="113"></a><a href="#113" id="line113"> 113</a> </span><span class="lineNoCov"> 0 : $this-&gt;warn(&quot;An &lt;appender&gt; node is missing the required 'name' attribute. Skipping appender definition.&quot;);</span>
<span class="lineNum" id="container114"><a name="114"></a><a href="#114" id="line114"> 114</a> </span><span class="lineNoCov"> 0 : return; </span>
<span class="lineNum" id="container115"><a name="115"></a><a href="#115" id="line115"> 115</a> </span> : }
<span class="lineNum" id="container116"><a name="116"></a><a href="#116" id="line116"> 116</a> </span> :
<span class="lineNum" id="container117"><a name="117"></a><a href="#117" id="line117"> 117</a> </span><span class="lineCov"> 17 : $appender = array(); </span>
<span class="lineNum" id="container118"><a name="118"></a><a href="#118" id="line118"> 118</a> </span><span class="lineCov"> 17 : $appender['class'] = $this-&gt;getAttributeValue($node, 'class'); </span>
<span class="lineNum" id="container119"><a name="119"></a><a href="#119" id="line119"> 119</a> </span> :
<span class="lineNum" id="container120"><a name="120"></a><a href="#120" id="line120"> 120</a> </span><span class="lineCov"> 17 : if (isset($node['threshold'])) { </span>
<span class="lineNum" id="container121"><a name="121"></a><a href="#121" id="line121"> 121</a> </span><span class="lineCov"> 1 : $appender['threshold'] = $this-&gt;getAttributeValue($node, 'threshold'); </span>
<span class="lineNum" id="container122"><a name="122"></a><a href="#122" id="line122"> 122</a> </span><span class="lineCov"> 1 : } </span>
<span class="lineNum" id="container123"><a name="123"></a><a href="#123" id="line123"> 123</a> </span> :
<span class="lineNum" id="container124"><a name="124"></a><a href="#124" id="line124"> 124</a> </span><span class="lineCov"> 17 : if (isset($node-&gt;layout)) { </span>
<span class="lineNum" id="container125"><a name="125"></a><a href="#125" id="line125"> 125</a> </span><span class="lineCov"> 11 : $appender['layout']= $this-&gt;parseLayout($node-&gt;layout, $name); </span>
<span class="lineNum" id="container126"><a name="126"></a><a href="#126" id="line126"> 126</a> </span><span class="lineCov"> 11 : } </span>
<span class="lineNum" id="container127"><a name="127"></a><a href="#127" id="line127"> 127</a> </span> :
<span class="lineNum" id="container128"><a name="128"></a><a href="#128" id="line128"> 128</a> </span><span class="lineCov"> 17 : if (count($node-&gt;param) &gt; 0) { </span>
<span class="lineNum" id="container129"><a name="129"></a><a href="#129" id="line129"> 129</a> </span><span class="lineCov"> 1 : $appender['params'] = $this-&gt;parseParameters($node); </span>
<span class="lineNum" id="container130"><a name="130"></a><a href="#130" id="line130"> 130</a> </span><span class="lineCov"> 1 : } </span>
<span class="lineNum" id="container131"><a name="131"></a><a href="#131" id="line131"> 131</a> </span> :
<span class="lineNum" id="container132"><a name="132"></a><a href="#132" id="line132"> 132</a> </span><span class="lineCov"> 17 : foreach($node-&gt;filter as $filterNode) { </span>
<span class="lineNum" id="container133"><a name="133"></a><a href="#133" id="line133"> 133</a> </span><span class="lineCov"> 4 : $appender['filters'][] = $this-&gt;parseFilter($filterNode); </span>
<span class="lineNum" id="container134"><a name="134"></a><a href="#134" id="line134"> 134</a> </span><span class="lineCov"> 17 : } </span>
<span class="lineNum" id="container135"><a name="135"></a><a href="#135" id="line135"> 135</a> </span> :
<span class="lineNum" id="container136"><a name="136"></a><a href="#136" id="line136"> 136</a> </span><span class="lineCov"> 17 : $this-&gt;config['appenders'][$name] = $appender; </span>
<span class="lineNum" id="container137"><a name="137"></a><a href="#137" id="line137"> 137</a> </span><span class="lineCov"> 17 : } </span>
<span class="lineNum" id="container138"><a name="138"></a><a href="#138" id="line138"> 138</a> </span> :
<span class="lineNum" id="container139"><a name="139"></a><a href="#139" id="line139"> 139</a> </span> : /** Parses a &lt;layout&gt; node. */
<span class="lineNum" id="container140"><a name="140"></a><a href="#140" id="line140"> 140</a> </span> : private function parseLayout(SimpleXMLElement $node, $appenderName) {
<span class="lineNum" id="container141"><a name="141"></a><a href="#141" id="line141"> 141</a> </span><span class="lineCov"> 11 : $layout = array(); </span>
<span class="lineNum" id="container142"><a name="142"></a><a href="#142" id="line142"> 142</a> </span><span class="lineCov"> 11 : $layout['class'] = $this-&gt;getAttributeValue($node, 'class'); </span>
<span class="lineNum" id="container143"><a name="143"></a><a href="#143" id="line143"> 143</a> </span> :
<span class="lineNum" id="container144"><a name="144"></a><a href="#144" id="line144"> 144</a> </span><span class="lineCov"> 11 : if (count($node-&gt;param) &gt; 0) { </span>
<span class="lineNum" id="container145"><a name="145"></a><a href="#145" id="line145"> 145</a> </span><span class="lineCov"> 1 : $layout['params'] = $this-&gt;parseParameters($node); </span>
<span class="lineNum" id="container146"><a name="146"></a><a href="#146" id="line146"> 146</a> </span><span class="lineCov"> 1 : } </span>
<span class="lineNum" id="container147"><a name="147"></a><a href="#147" id="line147"> 147</a> </span> :
<span class="lineNum" id="container148"><a name="148"></a><a href="#148" id="line148"> 148</a> </span><span class="lineCov"> 11 : return $layout; </span>
<span class="lineNum" id="container149"><a name="149"></a><a href="#149" id="line149"> 149</a> </span> : }
<span class="lineNum" id="container150"><a name="150"></a><a href="#150" id="line150"> 150</a> </span> : /** Parses any &lt;param&gt; child nodes returning them in an array. */
<span class="lineNum" id="container151"><a name="151"></a><a href="#151" id="line151"> 151</a> </span> : private function parseParameters($paramsNode) {
<span class="lineNum" id="container152"><a name="152"></a><a href="#152" id="line152"> 152</a> </span> : $params = array();
<span class="lineNum" id="container153"><a name="153"></a><a href="#153" id="line153"> 153</a> </span><span class="lineCov"> 2 : </span>
<span class="lineNum" id="container154"><a name="154"></a><a href="#154" id="line154"> 154</a> </span> : foreach($paramsNode-&gt;param as $paramNode) {
<span class="lineNum" id="container155"><a name="155"></a><a href="#155" id="line155"> 155</a> </span><span class="lineCov"> 2 : if (empty($paramNode['name'])) { </span>
<span class="lineNum" id="container156"><a name="156"></a><a href="#156" id="line156"> 156</a> </span><span class="lineCov"> 2 : $this-&gt;warn(&quot;A &lt;param&gt; node is missing the required 'name' attribute. Skipping parameter.&quot;); </span>
<span class="lineNum" id="container157"><a name="157"></a><a href="#157" id="line157"> 157</a> </span><span class="lineNoCov"> 0 : continue; </span>
<span class="lineNum" id="container158"><a name="158"></a><a href="#158" id="line158"> 158</a> </span><span class="lineNoCov"> 0 : } </span>
<span class="lineNum" id="container159"><a name="159"></a><a href="#159" id="line159"> 159</a> </span> :
<span class="lineNum" id="container160"><a name="160"></a><a href="#160" id="line160"> 160</a> </span> : $name = $this-&gt;getAttributeValue($paramNode, 'name');
<span class="lineNum" id="container161"><a name="161"></a><a href="#161" id="line161"> 161</a> </span><span class="lineCov"> 2 : $value = $this-&gt;getAttributeValue($paramNode, 'value'); </span>
<span class="lineNum" id="container162"><a name="162"></a><a href="#162" id="line162"> 162</a> </span><span class="lineCov"> 2 : </span>
<span class="lineNum" id="container163"><a name="163"></a><a href="#163" id="line163"> 163</a> </span> : $params[$name] = $value;
<span class="lineNum" id="container164"><a name="164"></a><a href="#164" id="line164"> 164</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container165"><a name="165"></a><a href="#165" id="line165"> 165</a> </span><span class="lineCov"> 2 : </span>
<span class="lineNum" id="container166"><a name="166"></a><a href="#166" id="line166"> 166</a> </span> : return $params;
<span class="lineNum" id="container167"><a name="167"></a><a href="#167" id="line167"> 167</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container168"><a name="168"></a><a href="#168" id="line168"> 168</a> </span> :
<span class="lineNum" id="container169"><a name="169"></a><a href="#169" id="line169"> 169</a> </span> : /** Parses a &lt;root&gt; node. */
<span class="lineNum" id="container170"><a name="170"></a><a href="#170" id="line170"> 170</a> </span> : private function parseRootLogger(SimpleXMLElement $node) {
<span class="lineNum" id="container171"><a name="171"></a><a href="#171" id="line171"> 171</a> </span> : $logger = array();
<span class="lineNum" id="container172"><a name="172"></a><a href="#172" id="line172"> 172</a> </span><span class="lineCov"> 18 : </span>
<span class="lineNum" id="container173"><a name="173"></a><a href="#173" id="line173"> 173</a> </span> : if (isset($node-&gt;level)) {
<span class="lineNum" id="container174"><a name="174"></a><a href="#174" id="line174"> 174</a> </span><span class="lineCov"> 18 : $logger['level'] = $this-&gt;getAttributeValue($node-&gt;level, 'value'); </span>
<span class="lineNum" id="container175"><a name="175"></a><a href="#175" id="line175"> 175</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container176"><a name="176"></a><a href="#176" id="line176"> 176</a> </span><span class="lineCov"> 18 : </span>
<span class="lineNum" id="container177"><a name="177"></a><a href="#177" id="line177"> 177</a> </span> : $logger['appenders'] = array();
<span class="lineNum" id="container178"><a name="178"></a><a href="#178" id="line178"> 178</a> </span><span class="lineCov"> 18 : foreach($node-&gt;appender_ref as $appender) { </span>
<span class="lineNum" id="container179"><a name="179"></a><a href="#179" id="line179"> 179</a> </span><span class="lineCov"> 18 : $logger['appenders'][] = $this-&gt;getAttributeValue($appender, 'ref'); </span>
<span class="lineNum" id="container180"><a name="180"></a><a href="#180" id="line180"> 180</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container181"><a name="181"></a><a href="#181" id="line181"> 181</a> </span><span class="lineCov"> 18 : </span>
<span class="lineNum" id="container182"><a name="182"></a><a href="#182" id="line182"> 182</a> </span> : $this-&gt;config['rootLogger'] = $logger;
<span class="lineNum" id="container183"><a name="183"></a><a href="#183" id="line183"> 183</a> </span><span class="lineCov"> 18 : } </span>
<span class="lineNum" id="container184"><a name="184"></a><a href="#184" id="line184"> 184</a> </span><span class="lineCov"> 18 : </span>
<span class="lineNum" id="container185"><a name="185"></a><a href="#185" id="line185"> 185</a> </span> : /** Parses a &lt;logger&gt; node. */
<span class="lineNum" id="container186"><a name="186"></a><a href="#186" id="line186"> 186</a> </span> : private function parseLogger(SimpleXMLElement $node) {
<span class="lineNum" id="container187"><a name="187"></a><a href="#187" id="line187"> 187</a> </span> : $logger = array();
<span class="lineNum" id="container188"><a name="188"></a><a href="#188" id="line188"> 188</a> </span><span class="lineCov"> 5 : </span>
<span class="lineNum" id="container189"><a name="189"></a><a href="#189" id="line189"> 189</a> </span> : $name = $this-&gt;getAttributeValue($node, 'name');
<span class="lineNum" id="container190"><a name="190"></a><a href="#190" id="line190"> 190</a> </span><span class="lineCov"> 5 : if (empty($name)) { </span>
<span class="lineNum" id="container191"><a name="191"></a><a href="#191" id="line191"> 191</a> </span><span class="lineCov"> 5 : $this-&gt;warn(&quot;A &lt;logger&gt; node is missing the required 'name' attribute. Skipping logger definition.&quot;); </span>
<span class="lineNum" id="container192"><a name="192"></a><a href="#192" id="line192"> 192</a> </span><span class="lineNoCov"> 0 : return; </span>
<span class="lineNum" id="container193"><a name="193"></a><a href="#193" id="line193"> 193</a> </span><span class="lineNoCov"> 0 : } </span>
<span class="lineNum" id="container194"><a name="194"></a><a href="#194" id="line194"> 194</a> </span> :
<span class="lineNum" id="container195"><a name="195"></a><a href="#195" id="line195"> 195</a> </span> : if (isset($node-&gt;level)) {
<span class="lineNum" id="container196"><a name="196"></a><a href="#196" id="line196"> 196</a> </span><span class="lineCov"> 5 : $logger['level'] = $this-&gt;getAttributeValue($node-&gt;level, 'value'); </span>
<span class="lineNum" id="container197"><a name="197"></a><a href="#197" id="line197"> 197</a> </span><span class="lineCov"> 5 : } </span>
<span class="lineNum" id="container198"><a name="198"></a><a href="#198" id="line198"> 198</a> </span><span class="lineCov"> 5 : </span>
<span class="lineNum" id="container199"><a name="199"></a><a href="#199" id="line199"> 199</a> </span> : if (isset($node['additivity'])) {
<span class="lineNum" id="container200"><a name="200"></a><a href="#200" id="line200"> 200</a> </span><span class="lineCov"> 5 : $logger['additivity'] = $this-&gt;getAttributeValue($node, 'additivity'); </span>
<span class="lineNum" id="container201"><a name="201"></a><a href="#201" id="line201"> 201</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container202"><a name="202"></a><a href="#202" id="line202"> 202</a> </span><span class="lineCov"> 2 : </span>
<span class="lineNum" id="container203"><a name="203"></a><a href="#203" id="line203"> 203</a> </span> : $logger['appenders'] = $this-&gt;parseAppenderReferences($node, $name);
<span class="lineNum" id="container204"><a name="204"></a><a href="#204" id="line204"> 204</a> </span><span class="lineCov"> 5 : </span>
<span class="lineNum" id="container205"><a name="205"></a><a href="#205" id="line205"> 205</a> </span> : // Check for duplicate loggers
<span class="lineNum" id="container206"><a name="206"></a><a href="#206" id="line206"> 206</a> </span> : if (isset($this-&gt;config['loggers'][$name])) {
<span class="lineNum" id="container207"><a name="207"></a><a href="#207" id="line207"> 207</a> </span><span class="lineCov"> 5 : $this-&gt;warn(&quot;Duplicate logger definition [$name]. Overwriting.&quot;); </span>
<span class="lineNum" id="container208"><a name="208"></a><a href="#208" id="line208"> 208</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container209"><a name="209"></a><a href="#209" id="line209"> 209</a> </span><span class="lineCov"> 1 : </span>
<span class="lineNum" id="container210"><a name="210"></a><a href="#210" id="line210"> 210</a> </span> : $this-&gt;config['loggers'][$name] = $logger;
<span class="lineNum" id="container211"><a name="211"></a><a href="#211" id="line211"> 211</a> </span><span class="lineCov"> 5 : } </span>
<span class="lineNum" id="container212"><a name="212"></a><a href="#212" id="line212"> 212</a> </span><span class="lineCov"> 5 : </span>
<span class="lineNum" id="container213"><a name="213"></a><a href="#213" id="line213"> 213</a> </span> : /**
<span class="lineNum" id="container214"><a name="214"></a><a href="#214" id="line214"> 214</a> </span> : * Parses a &lt;logger&gt; node for appender references and returns them in an array.
<span class="lineNum" id="container215"><a name="215"></a><a href="#215" id="line215"> 215</a> </span> : */
<span class="lineNum" id="container216"><a name="216"></a><a href="#216" id="line216"> 216</a> </span> : private function parseAppenderReferences(SimpleXMLElement $node, $name) {
<span class="lineNum" id="container217"><a name="217"></a><a href="#217" id="line217"> 217</a> </span> : $refs = array();
<span class="lineNum" id="container218"><a name="218"></a><a href="#218" id="line218"> 218</a> </span><span class="lineCov"> 5 : foreach($node-&gt;appender_ref as $ref) { </span>
<span class="lineNum" id="container219"><a name="219"></a><a href="#219" id="line219"> 219</a> </span><span class="lineCov"> 5 : $refs[] = $this-&gt;getAttributeValue($ref, 'ref'); </span>
<span class="lineNum" id="container220"><a name="220"></a><a href="#220" id="line220"> 220</a> </span><span class="lineCov"> 5 : } </span>
<span class="lineNum" id="container221"><a name="221"></a><a href="#221" id="line221"> 221</a> </span><span class="lineCov"> 5 : </span>
<span class="lineNum" id="container222"><a name="222"></a><a href="#222" id="line222"> 222</a> </span> : return $refs;
<span class="lineNum" id="container223"><a name="223"></a><a href="#223" id="line223"> 223</a> </span><span class="lineCov"> 5 : } </span>
<span class="lineNum" id="container224"><a name="224"></a><a href="#224" id="line224"> 224</a> </span> :
<span class="lineNum" id="container225"><a name="225"></a><a href="#225" id="line225"> 225</a> </span> : /** Parses a &lt;filter&gt; node. */
<span class="lineNum" id="container226"><a name="226"></a><a href="#226" id="line226"> 226</a> </span> : private function parseFilter($filterNode) {
<span class="lineNum" id="container227"><a name="227"></a><a href="#227" id="line227"> 227</a> </span> : $filter = array();
<span class="lineNum" id="container228"><a name="228"></a><a href="#228" id="line228"> 228</a> </span><span class="lineCov"> 4 : $filter['class'] = $this-&gt;getAttributeValue($filterNode, 'class'); </span>
<span class="lineNum" id="container229"><a name="229"></a><a href="#229" id="line229"> 229</a> </span><span class="lineCov"> 4 : </span>
<span class="lineNum" id="container230"><a name="230"></a><a href="#230" id="line230"> 230</a> </span> : if (count($filterNode-&gt;param) &gt; 0) {
<span class="lineNum" id="container231"><a name="231"></a><a href="#231" id="line231"> 231</a> </span><span class="lineCov"> 4 : $filter['params'] = $this-&gt;parseParameters($filterNode); </span>
<span class="lineNum" id="container232"><a name="232"></a><a href="#232" id="line232"> 232</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container233"><a name="233"></a><a href="#233" id="line233"> 233</a> </span><span class="lineCov"> 2 : </span>
<span class="lineNum" id="container234"><a name="234"></a><a href="#234" id="line234"> 234</a> </span> : return $filter;
<span class="lineNum" id="container235"><a name="235"></a><a href="#235" id="line235"> 235</a> </span><span class="lineCov"> 4 : } </span>
<span class="lineNum" id="container236"><a name="236"></a><a href="#236" id="line236"> 236</a> </span> :
<span class="lineNum" id="container237"><a name="237"></a><a href="#237" id="line237"> 237</a> </span> : /** Parses a &lt;renderer&gt; node. */
<span class="lineNum" id="container238"><a name="238"></a><a href="#238" id="line238"> 238</a> </span> : private function parseRenderer(SimpleXMLElement $node) {
<span class="lineNum" id="container239"><a name="239"></a><a href="#239" id="line239"> 239</a> </span> : $renderedClass = $this-&gt;getAttributeValue($node, 'renderedClass');
<span class="lineNum" id="container240"><a name="240"></a><a href="#240" id="line240"> 240</a> </span><span class="lineCov"> 6 : $renderingClass = $this-&gt;getAttributeValue($node, 'renderingClass'); </span>
<span class="lineNum" id="container241"><a name="241"></a><a href="#241" id="line241"> 241</a> </span><span class="lineCov"> 6 : </span>
<span class="lineNum" id="container242"><a name="242"></a><a href="#242" id="line242"> 242</a> </span> : $this-&gt;config['renderers'][] = compact('renderedClass', 'renderingClass');
<span class="lineNum" id="container243"><a name="243"></a><a href="#243" id="line243"> 243</a> </span><span class="lineCov"> 6 : } </span>
<span class="lineNum" id="container244"><a name="244"></a><a href="#244" id="line244"> 244</a> </span><span class="lineCov"> 6 : </span>
<span class="lineNum" id="container245"><a name="245"></a><a href="#245" id="line245"> 245</a> </span> : // ******************************************
<span class="lineNum" id="container246"><a name="246"></a><a href="#246" id="line246"> 246</a> </span> : // ** Helper methods **
<span class="lineNum" id="container247"><a name="247"></a><a href="#247" id="line247"> 247</a> </span> : // ******************************************
<span class="lineNum" id="container248"><a name="248"></a><a href="#248" id="line248"> 248</a> </span> :
<span class="lineNum" id="container249"><a name="249"></a><a href="#249" id="line249"> 249</a> </span> : private function getAttributeValue(SimpleXMLElement $node, $name) {
<span class="lineNum" id="container250"><a name="250"></a><a href="#250" id="line250"> 250</a> </span> : return isset($node[$name]) ? (string) $node[$name] : null;
<span class="lineNum" id="container251"><a name="251"></a><a href="#251" id="line251"> 251</a> </span><span class="lineCov"> 19 : } </span>
<span class="lineNum" id="container252"><a name="252"></a><a href="#252" id="line252"> 252</a> </span> :
<span class="lineNum" id="container253"><a name="253"></a><a href="#253" id="line253"> 253</a> </span> : private function warn($message) {
<span class="lineNum" id="container254"><a name="254"></a><a href="#254" id="line254"> 254</a> </span> : trigger_error(&quot;log4php: &quot; . $message, E_USER_WARNING);
<span class="lineNum" id="container255"><a name="255"></a><a href="#255" id="line255"> 255</a> </span><span class="lineCov"> 2 : } </span>
<span class="lineNum" id="container256"><a name="256"></a><a href="#256" id="line256"> 256</a> </span><span class="lineCov"> 1 : } </span>
<span class="lineNum" id="container257"><a name="257"></a><a href="#257" id="line257"> 257</a> </span> :
</pre>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
<tr><td class="versionInfo">Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.1.1</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.3-7+squeeze3</a> and PHPUnit 3.6.3 at Sat Feb 18 22:32:39 GMT 2012.</td></tr>
</table>
<br />
<script type="text/javascript">
//<![CDATA[
$E = YAHOO.util.Event;
YAHOO.namespace("phpunit.container");
YAHOO.phpunit.container.panelsData = {
"panel43": {
"header": "21 tests cover line 43",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testNonExistantFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel45": {
"header": "19 tests cover line 45",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel48": {
"header": "19 tests cover line 48",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel49": {
"header": "18 tests cover line 49",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel50": {
"header": "18 tests cover line 50",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel53": {
"header": "19 tests cover line 53",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel54": {
"header": "5 tests cover line 54",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel55": {
"header": "19 tests cover line 55",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel58": {
"header": "18 tests cover line 58",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel59": {
"header": "17 tests cover line 59",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel60": {
"header": "18 tests cover line 60",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel63": {
"header": "18 tests cover line 63",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel64": {
"header": "6 tests cover line 64",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel65": {
"header": "18 tests cover line 65",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel66": {
"header": "18 tests cover line 66",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel74": {
"header": "21 tests cover line 74",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testNonExistantFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel75": {
"header": "1 test covers line 75",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testNonExistantFile</li></ul>",
"footer": ""
},
"panel78": {
"header": "20 tests cover line 78",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel79": {
"header": "20 tests cover line 79",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel82": {
"header": "20 tests cover line 82",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel83": {
"header": "20 tests cover line 83",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel85": {
"header": "1 test covers line 85",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li></ul>",
"footer": ""
},
"panel86": {
"header": "1 test covers line 86",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li></ul>",
"footer": ""
},
"panel87": {
"header": "1 test covers line 87",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li></ul>",
"footer": ""
},
"panel88": {
"header": "1 test covers line 88",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li></ul>",
"footer": ""
},
"panel90": {
"header": "1 test covers line 90",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li></ul>",
"footer": ""
},
"panel93": {
"header": "19 tests cover line 93",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel94": {
"header": "19 tests cover line 94",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel96": {
"header": "19 tests cover line 96",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel103": {
"header": "19 tests cover line 103",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel104": {
"header": "19 tests cover line 104",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel105": {
"header": "8 tests cover line 105",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel106": {
"header": "8 tests cover line 106",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel107": {
"header": "19 tests cover line 107",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel111": {
"header": "17 tests cover line 111",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel112": {
"header": "17 tests cover line 112",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel117": {
"header": "17 tests cover line 117",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel118": {
"header": "17 tests cover line 118",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel120": {
"header": "17 tests cover line 120",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel121": {
"header": "1 test covers line 121",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel122": {
"header": "1 test covers line 122",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel124": {
"header": "17 tests cover line 124",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel125": {
"header": "11 tests cover line 125",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel126": {
"header": "11 tests cover line 126",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel128": {
"header": "17 tests cover line 128",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel129": {
"header": "1 test covers line 129",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel130": {
"header": "1 test covers line 130",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel132": {
"header": "17 tests cover line 132",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel133": {
"header": "4 tests cover line 133",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel134": {
"header": "17 tests cover line 134",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel136": {
"header": "17 tests cover line 136",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel137": {
"header": "17 tests cover line 137",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel141": {
"header": "11 tests cover line 141",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel142": {
"header": "11 tests cover line 142",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel144": {
"header": "11 tests cover line 144",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel145": {
"header": "1 test covers line 145",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel146": {
"header": "1 test covers line 146",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel148": {
"header": "11 tests cover line 148",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel153": {
"header": "2 tests cover line 153",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel155": {
"header": "2 tests cover line 155",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel156": {
"header": "2 tests cover line 156",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel161": {
"header": "2 tests cover line 161",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel162": {
"header": "2 tests cover line 162",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel164": {
"header": "2 tests cover line 164",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel165": {
"header": "2 tests cover line 165",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel167": {
"header": "2 tests cover line 167",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel172": {
"header": "18 tests cover line 172",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel174": {
"header": "18 tests cover line 174",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel175": {
"header": "18 tests cover line 175",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel176": {
"header": "18 tests cover line 176",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel178": {
"header": "18 tests cover line 178",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel179": {
"header": "18 tests cover line 179",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel180": {
"header": "18 tests cover line 180",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel181": {
"header": "18 tests cover line 181",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel183": {
"header": "18 tests cover line 183",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel184": {
"header": "18 tests cover line 184",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel188": {
"header": "5 tests cover line 188",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel190": {
"header": "5 tests cover line 190",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel191": {
"header": "5 tests cover line 191",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel196": {
"header": "5 tests cover line 196",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel197": {
"header": "5 tests cover line 197",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel198": {
"header": "5 tests cover line 198",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel200": {
"header": "5 tests cover line 200",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel201": {
"header": "2 tests cover line 201",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel202": {
"header": "2 tests cover line 202",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel204": {
"header": "5 tests cover line 204",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel207": {
"header": "5 tests cover line 207",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel208": {
"header": "2 tests cover line 208",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel209": {
"header": "1 test covers line 209",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel211": {
"header": "5 tests cover line 211",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel212": {
"header": "5 tests cover line 212",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel218": {
"header": "5 tests cover line 218",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel219": {
"header": "5 tests cover line 219",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel220": {
"header": "5 tests cover line 220",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel221": {
"header": "5 tests cover line 221",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel223": {
"header": "5 tests cover line 223",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel228": {
"header": "4 tests cover line 228",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel229": {
"header": "4 tests cover line 229",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel231": {
"header": "4 tests cover line 231",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel232": {
"header": "2 tests cover line 232",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel233": {
"header": "2 tests cover line 233",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel235": {
"header": "4 tests cover line 235",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel240": {
"header": "6 tests cover line 240",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel241": {
"header": "6 tests cover line 241",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel243": {
"header": "6 tests cover line 243",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel244": {
"header": "6 tests cover line 244",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li></ul>",
"footer": ""
},
"panel251": {
"header": "19 tests cover line 251",
"body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel255": {
"header": "2 tests cover line 255",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"panel256": {
"header": "1 test covers line 256",
"body": "<ul><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li></ul>",
"footer": ""
},
"dummy": ""
};
YAHOO.phpunit.container.prepare = function (e) {
var elemId = $E.getTarget(e).id;
var line = elemId.substr(4);
var panelId = "panel" + line;
var containerId = "container" + line;
var panelData = YAHOO.phpunit.container.panelsData[panelId];
var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
panel.setHeader(panelData["header"]);
panel.setBody(panelData["body"]);
panel.setFooter(panelData["footer"]);
panel.render(containerId);
$E.addListener(elemId, "click", panel.show, panel, true);
$E.removeListener(elemId, "mouseover");
};
function init() {
var ypc = YAHOO.phpunit.container;
for (var panelId in ypc.panelsData) {
var elemId = "line" + panelId.substr(5);
$E.addListener(elemId, "mouseover", ypc.prepare);
}
}
$E.addListener(window, "load", init);
//]]>
</script>
</body>
</html>