<!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: LevelPatternConverter 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_1pattern.html">pattern</a>::<a class="el" href="classlog4cxx_1_1pattern_1_1_level_pattern_converter.html">LevelPatternConverter</a></div>
<h1>LevelPatternConverter Class Reference</h1><!-- doxytag: class="log4cxx::pattern::LevelPatternConverter" --><!-- doxytag: inherits="log4cxx::pattern::LoggingEventPatternConverter" -->Inherits <a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html">LoggingEventPatternConverter</a>.
<p>
<a href="classlog4cxx_1_1pattern_1_1_level_pattern_converter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Return the event's level in a StringBuffer. 
<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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1pattern_1_1_level_pattern_converter.html#e365eeefff6366cf929d51d7ef87255b">format</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::LoggingEventPtr</a> &amp;event, <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;toAppendTo, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Formats an event into a string buffer.  <a href="#e365eeefff6366cf929d51d7ef87255b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1pattern_1_1_level_pattern_converter.html#fdfdfaf9effb6340bef8e5ae01577a0d">getStyleClass</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::helpers::ObjectPtr</a> &amp;e) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the CSS style class that should be applied to the LoggingEvent passed as parameter, which can be null.  <a href="#fdfdfaf9effb6340bef8e5ae01577a0d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static PatternConverterPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1pattern_1_1_level_pattern_converter.html#8ab21ae90307902122f92aca54fed1f4">newInstance</a> (const std::vector&lt; <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &gt; &amp;options)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains an instance of pattern converter.  <a href="#8ab21ae90307902122f92aca54fed1f4"></a><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e365eeefff6366cf929d51d7ef87255b"></a><!-- doxytag: member="log4cxx::pattern::LevelPatternConverter::format" ref="e365eeefff6366cf929d51d7ef87255b" args="(const log4cxx::spi::LoggingEventPtr &amp;event, LogString &amp;toAppendTo, log4cxx::helpers::Pool &amp;p) 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">void format           </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">log4cxx::spi::LoggingEventPtr</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>toAppendTo</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"> const<code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Formats an event into a string buffer. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>event to format, may not be null. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>toAppendTo</em>&nbsp;</td><td>string buffer to which the formatted event will be appended. May not be null. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>pool for memory allocations needing during format. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html#dd24a40209b961a2e87645b000171bd5">LoggingEventPatternConverter</a>.    </td>
  </tr>
</table>
<a class="anchor" name="fdfdfaf9effb6340bef8e5ae01577a0d"></a><!-- doxytag: member="log4cxx::pattern::LevelPatternConverter::getStyleClass" ref="fdfdfaf9effb6340bef8e5ae01577a0d" args="(const log4cxx::helpers::ObjectPtr &amp;e) 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"><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> getStyleClass           </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">log4cxx::helpers::ObjectPtr</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>e</em>          </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>
This method returns the CSS style class that should be applied to the LoggingEvent passed as parameter, which can be null. 
<p>
This information is currently used only by <a class="el" href="classlog4cxx_1_1_h_t_m_l_layout.html">HTMLLayout</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>null values are accepted </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the name of the conversion pattern </dd></dl>

<p>
Reimplemented from <a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#3ad0252a0a90d42e1651f41de2237ef2">PatternConverter</a>.    </td>
  </tr>
</table>
<a class="anchor" name="8ab21ae90307902122f92aca54fed1f4"></a><!-- doxytag: member="log4cxx::pattern::LevelPatternConverter::newInstance" ref="8ab21ae90307902122f92aca54fed1f4" args="(const std::vector&lt; LogString &gt; &amp;options)" --><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">static PatternConverterPtr newInstance           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const std::vector&lt; <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &gt; &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>options</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [static]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Obtains an instance of pattern converter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>options, may be null. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>instance of pattern converter. </dd></dl>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="levelpatternconverter_8h.html">levelpatternconverter.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>
