<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Apache log4cxx: level.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://logging.apache.org/log4cxx">Apache log4cxx</a>
   &#160;<span id="projectnumber">Version 0.10.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('level_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">level.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_level.html">Level</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the minimum set of levels recognized by the system, that is <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, <code>WARN</code>, <code>INFO</code>, <code>DEBUG</code> and <code>ALL</code>.  <a href="classlog4cxx_1_1_level.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_level_1_1_level_class.html">Level::LevelClass</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacelog4cxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx.html">log4cxx</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a772d0fca933e5f730337369339730ae4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="level_8h.html#a772d0fca933e5f730337369339730ae4">DECLARE_LOG4CXX_LEVEL</a>(level)</td></tr>
<tr class="separator:a772d0fca933e5f730337369339730ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adef2d0847ba5fb169db253c23aab6e0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="level_8h.html#adef2d0847ba5fb169db253c23aab6e0a">IMPLEMENT_LOG4CXX_LEVEL</a>(level)&#160;&#160;&#160;<a class="el" href="object_8h.html#af7bf8c071020414cc69eb1c95845901c">IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(level, Class##level)</td></tr>
<tr class="separator:adef2d0847ba5fb169db253c23aab6e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a060b83402ef33c66095ad1b1b20eb316"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx.html#a060b83402ef33c66095ad1b1b20eb316">LOG4CXX_PTR_DEF</a> (Level)</td></tr>
<tr class="memdesc:a060b83402ef33c66095ad1b1b20eb316"><td class="mdescLeft">&#160;</td><td class="mdescRight">smart pointer to a <a class="el" href="classlog4cxx_1_1_level.html" title="Defines the minimum set of levels recognized by the system, that is OFF, FATAL, ERROR, WARN, INFO, DEBUG and ALL. ">Level</a> instance  <a href="namespacelog4cxx.html#a060b83402ef33c66095ad1b1b20eb316">More...</a><br /></td></tr>
<tr class="separator:a060b83402ef33c66095ad1b1b20eb316"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a772d0fca933e5f730337369339730ae4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLARE_LOG4CXX_LEVEL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">level</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>:\</div><div class="line">        class Class##level : <span class="keyword">public</span> Level::LevelClass\</div><div class="line">{\</div><div class="line">public:\</div><div class="line">        Class##level() : Level::LevelClass() {}\</div><div class="line">        virtual <a class="code" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOG4CXX_STR(#level); } \</div><div class="line">        virtual <a class="code" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> toLevel(<span class="keyword">const</span> <a class="code" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&amp; sArg) <span class="keyword">const</span>\</div><div class="line">        { <span class="keywordflow">return</span> level::toLevelLS(sArg); }\</div><div class="line">        virtual <a class="code" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> toLevel(<span class="keywordtype">int</span> val) <span class="keyword">const</span>\</div><div class="line">        { <span class="keywordflow">return</span> level::toLevel(val); }\</div><div class="line">};<a class="code" href="object_8h.html#a1bca89baf41fe4f2f4ff96203de445d5">\</a></div><div class="line"><a class="code" href="object_8h.html#a1bca89baf41fe4f2f4ff96203de445d5">DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(level, Class##level)</div><div class="ttc" id="namespacelog4cxx_html_ad7ec98d27bca7666e23f27dd1fb181c8"><div class="ttname"><a href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">log4cxx::LogString</a></div><div class="ttdeci">std::basic_string&lt; logchar &gt; LogString</div><div class="ttdef"><b>Definition:</b> logstring.h:67</div></div>
<div class="ttc" id="object_8h_html_a1bca89baf41fe4f2f4ff96203de445d5"><div class="ttname"><a href="object_8h.html#a1bca89baf41fe4f2f4ff96203de445d5">DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a></div><div class="ttdeci">#define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)</div><div class="ttdef"><b>Definition:</b> object.h:57</div></div>
<div class="ttc" id="namespacelog4cxx_html_ae5a3f62e1b8b965953cbddfda82c53b5"><div class="ttname"><a href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">log4cxx::LevelPtr</a></div><div class="ttdeci">helpers::ObjectPtrT&lt; Level &gt; LevelPtr</div><div class="ttdef"><b>Definition:</b> optionconverter.h:27</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="adef2d0847ba5fb169db253c23aab6e0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IMPLEMENT_LOG4CXX_LEVEL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">level</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="object_8h.html#af7bf8c071020414cc69eb1c95845901c">IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(level, Class##level)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
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>