blob: 961b8411b90e59d8d99c6214e3358e314e2e10fe [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: RootLogger Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="nav">
<a class="el" href="namespacelog4cxx.html">log4cxx</a>::<a class="el" href="namespacelog4cxx_1_1spi.html">spi</a>::<a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html">RootLogger</a></div>
<h1>RootLogger Class Reference</h1><!-- doxytag: class="log4cxx::spi::RootLogger" --><!-- doxytag: inherits="log4cxx::Logger" -->Inherits <a class="el" href="classlog4cxx_1_1_logger.html">Logger</a>.
<p>
<a href="classlog4cxx_1_1spi_1_1_root_logger-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html">RootLogger</a> sits at the top of the logger hierachy.
<p>
It is a regular logger except that it provides several guarantees.<p>
First, it cannot be assigned a null level. Second, since root logger cannot have a parent, the <a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html#2985ef12c0f256b14424004cbbb8854d">getEffectiveLevel</a> method always returns the value of the level field without walking the hierarchy.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html#a92d5464b2cd3498f75d96d2a59f6b1a">RootLogger</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;pool, const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_logger.html#240ddc104a40a5f36edd8e63cee4d7e7">level</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The root logger names itself as "root". <a href="#a92d5464b2cd3498f75d96d2a59f6b1a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html#2985ef12c0f256b14424004cbbb8854d">getEffectiveLevel</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the assigned level value without walking the logger hierarchy. <a href="#2985ef12c0f256b14424004cbbb8854d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html#16a971221dd24c189c9916ca2cf90b0a">setLevel</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_logger.html#240ddc104a40a5f36edd8e63cee4d7e7">level</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setting a null value to the level of the root logger may have catastrophic results. <a href="#16a971221dd24c189c9916ca2cf90b0a"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a92d5464b2cd3498f75d96d2a59f6b1a"></a><!-- doxytag: member="log4cxx::spi::RootLogger::RootLogger" ref="a92d5464b2cd3498f75d96d2a59f6b1a" args="(log4cxx::helpers::Pool &amp;pool, const LevelPtr &amp;level)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1spi_1_1_root_logger.html">RootLogger</a> </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>pool</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>level</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The root logger names itself as "root".
<p>
However, the root logger cannot be retrieved by name. </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="2985ef12c0f256b14424004cbbb8854d"></a><!-- doxytag: member="log4cxx::spi::RootLogger::getEffectiveLevel" ref="2985ef12c0f256b14424004cbbb8854d" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">virtual const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a>&amp; getEffectiveLevel </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Return the assigned level value without walking the logger hierarchy.
<p>
<p>
Reimplemented from <a class="el" href="classlog4cxx_1_1_logger.html#2985ef12c0f256b14424004cbbb8854d">Logger</a>. </td>
</tr>
</table>
<a class="anchor" name="16a971221dd24c189c9916ca2cf90b0a"></a><!-- doxytag: member="log4cxx::spi::RootLogger::setLevel" ref="16a971221dd24c189c9916ca2cf90b0a" args="(const LevelPtr &amp;level)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void setLevel </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LevelPtr</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>level</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Setting a null value to the level of the root logger may have catastrophic results.
<p>
We prevent this here.
<p>
Reimplemented from <a class="el" href="classlog4cxx_1_1_logger.html#3f4bc4e85c61bb0caa027bd70842cc08">Logger</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="rootlogger_8h.html">rootlogger.h</a></ul>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
</BODY>
</HTML>