Commits

Danny Gratzer committed 74629e5 Draft

Updated documentation

  • Participants
  • Parent commits cb9d2db

Comments (0)

Files changed (73)

File docs/html/annotated.html

   <tr><td class="indexkey"><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td class="indexvalue">The classic file logger, based on std::ofstream </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1handler.html">al::handler</a></td><td class="indexvalue">An abstract base class for all handler classes </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1logger.html">al::logger</a></td><td class="indexvalue">Logger is a class which accepts log messages with the &lt;&lt; operator or through a member function called log. It then passes the message off to its predetermined handlers </td></tr>
-  <tr><td class="indexkey"><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td class="indexvalue">This class should be used to specify the settings of a logger or loggers and then to generate them </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td class="indexvalue">This class should be used to specify the settings of a logger or loggers and then to generate them </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td class="indexvalue">An in memory handler that flushes its entries to a specified handler on its destruction </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a></td><td class="indexvalue">A handler front end for the rotator class </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1file__manipulator_1_1rotator.html">al::file_manipulator::rotator</a></td><td class="indexvalue">A simple class designed so that a circular buffer can be imitated with reasonable speed </td></tr>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/cerr__handler_8hpp_source.html

 <a name="l00006"></a>00006 
 <a name="l00007"></a>00007 <span class="keyword">namespace </span>al{
 <a name="l00014"></a><a class="code" href="classal_1_1cerr__handler.html">00014</a>   <span class="keyword">class </span><a class="code" href="classal_1_1cerr__handler.html" title="A simple handler, it prints all log entries to cerr.">cerr_handler</a> : <span class="keyword">public</span> <a class="code" href="classal_1_1handler.html" title="An abstract base class for all handler classes.">handler</a>{
-<a name="l00015"></a>00015     <span class="keywordtype">void</span> handle(level l, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; message){
-<a name="l00016"></a>00016       std::cerr&lt;&lt;<span class="stringliteral">&quot;(&quot;</span>&lt;&lt; to_string(l) &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt;name&lt;&lt;<span class="stringliteral">&quot; : &quot;</span>&lt;&lt;message&lt;&lt;std::endl;
-<a name="l00017"></a>00017     }
-<a name="l00018"></a>00018   };
-<a name="l00019"></a>00019 }
-<a name="l00020"></a>00020 
-<a name="l00021"></a>00021 <span class="preprocessor">#endif</span>
+<a name="l00015"></a>00015     <span class="keyword">public</span>: 
+<a name="l00016"></a><a class="code" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">00016</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a>(level l, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; message){
+<a name="l00017"></a>00017         std::cerr&lt;&lt;<span class="stringliteral">&quot;(&quot;</span>&lt;&lt; <a class="code" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(l) &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt;name&lt;&lt;<span class="stringliteral">&quot; : &quot;</span>&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00018"></a>00018       }
+<a name="l00019"></a>00019 
+<a name="l00020"></a><a class="code" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">00020</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a>(level l, <span class="keyword">const</span> std::string&amp; time, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; message){
+<a name="l00021"></a>00021         std::cerr&lt;&lt;<span class="stringliteral">&quot;(&quot;</span>&lt;&lt; <a class="code" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(l) &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt;time&lt;&lt;<span class="stringliteral">&quot;, &quot;</span>&lt;&lt;name&lt;&lt;<span class="stringliteral">&quot; : &quot;</span>&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00022"></a>00022       }
+<a name="l00023"></a>00023 
+<a name="l00024"></a><a class="code" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">00024</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a>(<span class="keyword">const</span> std::string&amp; message){
+<a name="l00025"></a>00025         std::cerr&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00026"></a>00026       }
+<a name="l00027"></a>00027   };
+<a name="l00028"></a>00028 }
+<a name="l00029"></a>00029 <span class="preprocessor">#endif</span>
 </pre></div></div><!-- contents -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:48 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1cerr__handler-members.html

 </div><!--header-->
 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a>, including all inherited members.<table>
-  <tr bgcolor="#f0f0f0"><td><b>to_string</b>(level l) (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a>(level l, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a>(level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a>(const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a>(level l, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a>(level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a>(const std::string &amp;message)</td><td><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(level l)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~handler</b>() (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1cerr__handler.html

   </div>
 </div>
 <div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
   <div class="headertitle">
 <div class="title">al::cerr_handler Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<!-- doxytag: class="al::cerr_handler" --><!-- doxytag: inherits="al::handler" -->
+<!-- doxytag: class="al::cerr_handler" --><!-- doxytag: inherits="al::handler,al::handler" -->
 <p>A simple handler, it prints all log entries to cerr.  
  <a href="classal_1_1cerr__handler.html#details">More...</a></p>
 
   <img src="classal_1_1cerr__handler.png" usemap="#al::cerr_handler_map" alt=""/>
   <map id="al::cerr_handler_map" name="al::cerr_handler_map">
 <area href="classal_1_1handler.html" title="An abstract base class for all handler classes." alt="al::handler" shape="rect" coords="0,0,102,24"/>
+<area href="classal_1_1handler.html" title="An abstract base class for all handler classes." alt="al::handler" shape="rect" coords="112,0,214,24"/>
 </map>
  </div></div>
 
 <p><a href="classal_1_1cerr__handler-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a> (level l, const std::string &amp;name, const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a> (level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a> (const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a> (level l, const std::string &amp;name, const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a> (level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a> (const std::string &amp;message)</td></tr>
+</table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 <div class="textblock"><p>A simple handler, it prints all log entries to cerr. </p>
-<p>cerr_handle The messages are of the form "(level) name : message" for easy readability. </p>
-</div><hr/>The documentation for this class was generated from the following file:<ul>
+<p>A simple handler, it prints all log entries to clog.</p>
+<p>cerr_handle The messages are of the form "(level) time, name : message" for easy readability. </p>
+</div><hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aec62acaf51e9a5046ef300fe6787d1aa"></a><!-- doxytag: member="al::cerr_handler::handle" ref="aec62acaf51e9a5046ef300fe6787d1aa" args="(level l, const std::string &amp;name, const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger that generated it. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aec62acaf51e9a5046ef300fe6787d1aa"></a><!-- doxytag: member="al::cerr_handler::handle" ref="aec62acaf51e9a5046ef300fe6787d1aa" args="(level l, const std::string &amp;name, const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger that generated it. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a70dcc4ff1a54a3af30a62e70eb1ec4a5"></a><!-- doxytag: member="al::cerr_handler::handle" ref="a70dcc4ff1a54a3af30a62e70eb1ec4a5" args="(level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It handles timestamps. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger that generated it. </td></tr>
+    <tr><td class="paramname">timestamp</td><td>The time indicating when the log message was entered. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a70dcc4ff1a54a3af30a62e70eb1ec4a5"></a><!-- doxytag: member="al::cerr_handler::handle" ref="a70dcc4ff1a54a3af30a62e70eb1ec4a5" args="(level l, const std::string &amp;time, const std::string &amp;name, const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It handles timestamps. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger that generated it. </td></tr>
+    <tr><td class="paramname">timestamp</td><td>The time indicating when the log message was entered. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adc5f179798baf0a4c6a53a539814b4db"></a><!-- doxytag: member="al::cerr_handler::handle" ref="adc5f179798baf0a4c6a53a539814b4db" args="(const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It is meant for people who want a custom log format. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">message</td><td>The raw text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adc5f179798baf0a4c6a53a539814b4db"></a><!-- doxytag: member="al::cerr_handler::handle" ref="adc5f179798baf0a4c6a53a539814b4db" args="(const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It is meant for people who want a custom log format. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">message</td><td>The raw text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/handlers/<a class="el" href="cerr__handler_8hpp_source.html">cerr_handler.hpp</a></li>
+<li>src/handlers/<a class="el" href="clog__handler_8hpp_source.html">clog_handler.hpp</a></li>
 </ul>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1cerr__handler.png

Old
Old image
New
New image

File docs/html/classal_1_1end.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1file__handler-members.html

 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1file__handler.html">al::file_handler</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">file_handler</a>(const std::string &amp;file)</td><td><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">handle</a>(level, const std::string &amp;, const std::string &amp;, const std::string &amp;)</td><td><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">handle</a>(level, const std::string &amp;, const std::string &amp;)</td><td><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td><code> [virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>to_string</b>(level l) (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1file__handler.html#a1d02c57ba2bb955c4a2ecf6886b96756">handle</a>(const std::string &amp;)</td><td><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(level l)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~handler</b>() (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1file__handler.html

 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">file_handler</a> (const std::string &amp;file)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">handle</a> (level, const std::string &amp;, const std::string &amp;, const std::string &amp;)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">handle</a> (level, const std::string &amp;, const std::string &amp;)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1file__handler.html#a1d02c57ba2bb955c4a2ecf6886b96756">handle</a> (const std::string &amp;)</td></tr>
 </table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 <div class="textblock"><p>The classic file logger, based on std::ofstream. </p>
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1376091820f51db3ef0423b0e39a9680"></a><!-- doxytag: member="al::file_handler::handle" ref="a1376091820f51db3ef0423b0e39a9680" args="(level, const std::string &amp;, const std::string &amp;, const std::string &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">file_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Prints the message to the log file in csv form.</p>
+<p>"level,time,name,message" </p>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">al::handler</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a5de57304a22107e403c1ac917001da38"></a><!-- doxytag: member="al::file_handler::handle" ref="a5de57304a22107e403c1ac917001da38" args="(level, const std::string &amp;, const std::string &amp;)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">file_handler::handle</a> </td>
+          <td class="memname">void <a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">file_handler::handle</a> </td>
           <td>(</td>
           <td class="paramtype">level&#160;</td>
           <td class="paramname"><em>l</em>, </td>
 
 </div>
 </div>
+<a class="anchor" id="a1d02c57ba2bb955c4a2ecf6886b96756"></a><!-- doxytag: member="al::file_handler::handle" ref="a1d02c57ba2bb955c4a2ecf6886b96756" args="(const std::string &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">file_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Prints the message to the log file in csv form.</p>
+<p>"message" </p>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>.</p>
+
+</div>
+</div>
 <hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/handlers/<a class="el" href="file__handler_8hpp_source.html">file_handler.hpp</a></li>
 <li>src/handlers/file_handler.cpp</li>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1file__manipulator_1_1rotator-members.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1file__manipulator_1_1rotator.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1handler-members.html

 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1handler.html">al::handler</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">handle</a>(level l, const std::string &amp;name, const std::string &amp;message)=0</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>to_string</b>(level l) (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">handle</a>(level l, const std::string &amp;name, const std::string &amp;timestamp, const std::string &amp;message)=0</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">handle</a>(const std::string &amp;message)=0</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(level l)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~handler</b>() (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1handler.html

   <img src="classal_1_1handler.png" usemap="#al::handler_map" alt=""/>
   <map id="al::handler_map" name="al::handler_map">
 <area href="classal_1_1cerr__handler.html" title="A simple handler, it prints all log entries to cerr." alt="al::cerr_handler" shape="rect" coords="0,56,122,80"/>
-<area href="classal_1_1file__handler.html" title="The classic file logger, based on std::ofstream." alt="al::file_handler" shape="rect" coords="132,56,254,80"/>
-<area href="classal_1_1memory__handler.html" title="An in memory handler that flushes its entries to a specified handler on its destruction." alt="al::memory_handler" shape="rect" coords="264,56,386,80"/>
-<area href="classal_1_1rolling__handler.html" title="A handler front end for the rotator class." alt="al::rolling_handler" shape="rect" coords="396,56,518,80"/>
+<area href="classal_1_1cerr__handler.html" title="A simple handler, it prints all log entries to cerr." alt="al::cerr_handler" shape="rect" coords="132,56,254,80"/>
+<area href="classal_1_1file__handler.html" title="The classic file logger, based on std::ofstream." alt="al::file_handler" shape="rect" coords="264,56,386,80"/>
+<area href="classal_1_1memory__handler.html" title="An in memory handler that flushes its entries to a specified handler on its destruction." alt="al::memory_handler" shape="rect" coords="396,56,518,80"/>
+<area href="classal_1_1rolling__handler.html" title="A handler front end for the rotator class." alt="al::rolling_handler" shape="rect" coords="528,56,650,80"/>
 </map>
  </div></div>
 
 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">handle</a> (level l, const std::string &amp;name, const std::string &amp;message)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">handle</a> (level l, const std::string &amp;name, const std::string &amp;timestamp, const std::string &amp;message)=0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">handle</a> (const std::string &amp;message)=0</td></tr>
 <tr><td colspan="2"><h2><a name="pro-methods"></a>
 Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46745146bc6348c43f6fd469df59ef2a"></a><!-- doxytag: member="al::handler::to_string" ref="a46745146bc6348c43f6fd469df59ef2a" args="(level l)" -->
-virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><b>to_string</b> (level l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a> (level l)</td></tr>
 </table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 <div class="textblock"><p>An abstract base class for all handler classes. </p>
   </dd>
 </dl>
 
-<p>Implemented in <a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">al::rolling_handler</a>, <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>, and <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>.</p>
+<p>Implemented in <a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">al::rolling_handler</a>, <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>, <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>, <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler</a>, and <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a11ebca923dc7a3f8ffa3f802c5598cb0"></a><!-- doxytag: member="al::handler::handle" ref="a11ebca923dc7a3f8ffa3f802c5598cb0" args="(level l, const std::string &amp;name, const std::string &amp;timestamp, const std::string &amp;message)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It handles timestamps. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger that generated it. </td></tr>
+    <tr><td class="paramname">timestamp</td><td>The time indicating when the log message was entered. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classal_1_1rolling__handler.html#a7be82c1cfe439d591d50dc83eeea35c8">al::rolling_handler</a>, <a class="el" href="classal_1_1memory__handler.html#a5d2bda991fb466cf804fbd0646f21eea">al::memory_handler</a>, <a class="el" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">al::file_handler</a>, <a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">al::cerr_handler</a>, and <a class="el" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">al::cerr_handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af041d0c1de7e49607e27572f73413e82"></a><!-- doxytag: member="al::handler::handle" ref="af041d0c1de7e49607e27572f73413e82" args="(const std::string &amp;message)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the method called to handle a log entry. It is meant for people who want a custom log format. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">message</td><td>The raw text of the entry </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classal_1_1file__handler.html#a1d02c57ba2bb955c4a2ecf6886b96756">al::file_handler</a>, <a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">al::memory_handler</a>, <a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">al::rolling_handler</a>, <a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">al::cerr_handler</a>, and <a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">al::cerr_handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a46745146bc6348c43f6fd469df59ef2a"></a><!-- doxytag: member="al::handler::to_string" ref="a46745146bc6348c43f6fd469df59ef2a" args="(level l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string <a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">al::handler::to_string</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em></td><td>)</td>
+          <td><code> [inline, protected, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Potentially throws runtime_error if an unrecognized option is passed. Should be impossible </p>
 
 </div>
 </div>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1handler.png

Old
Old image
New
New image

File docs/html/classal_1_1logger-members.html

 </div><!--header-->
 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1logger.html">al::logger</a>, including all inherited members.<table>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">log</a>(level, const std::string &amp;)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a1b4657f03e90502d6cc655051d968a64">logger</a>(const std::list&lt; std::shared_ptr&lt; handler &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">operator&lt;&lt;</a>(level)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a3b5dfbc33c27b16367d6154c99f751b2">operator&lt;&lt;</a>(const std::string &amp;)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#add696d93a24662bc71658703e52e134f">operator&lt;&lt;</a>(end)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>get_timestamp</b>() (defined in <a class="el" href="classal_1_1logger.html">al::logger</a>)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">log</a>(level, const std::string &amp;)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a3cadf9937463b65343f29459a59bf564">logger</a>(const std::list&lt; std::shared_ptr&lt; handler &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name, bool t)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">operator&lt;&lt;</a>(level)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#a3b5dfbc33c27b16367d6154c99f751b2">operator&lt;&lt;</a>(const std::string &amp;)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger.html#add696d93a24662bc71658703e52e134f">operator&lt;&lt;</a>(end)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~logger</b>() (defined in <a class="el" href="classal_1_1logger.html">al::logger</a>)</td><td><a class="el" href="classal_1_1logger.html">al::logger</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1logger.html

 </div>
 <div class="header">
   <div class="summary">
-<a href="#pub-methods">Public Member Functions</a>  </div>
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a>  </div>
   <div class="headertitle">
 <div class="title">al::logger Class Reference</div>  </div>
 </div><!--header-->
 <table class="memberdecls">
 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a1b4657f03e90502d6cc655051d968a64">logger</a> (const std::list&lt; std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">log</a> (level, const std::string &amp;)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">operator&lt;&lt;</a> (level)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a3b5dfbc33c27b16367d6154c99f751b2">operator&lt;&lt;</a> (const std::string &amp;)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#add696d93a24662bc71658703e52e134f">operator&lt;&lt;</a> (<a class="el" href="classal_1_1end.html">end</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a3cadf9937463b65343f29459a59bf564">logger</a> (const std::list&lt; std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name, bool t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">log</a> (level, const std::string &amp;)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">operator&lt;&lt;</a> (level)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#a3b5dfbc33c27b16367d6154c99f751b2">operator&lt;&lt;</a> (const std::string &amp;)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classal_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger.html#add696d93a24662bc71658703e52e134f">operator&lt;&lt;</a> (<a class="el" href="classal_1_1end.html">end</a>)</td></tr>
+<tr><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5016f7ad5c219d820d801bd70dd9d6d1"></a><!-- doxytag: member="al::logger::get_timestamp" ref="a5016f7ad5c219d820d801bd70dd9d6d1" args="()" -->
+const std::string&#160;</td><td class="memItemRight" valign="bottom"><b>get_timestamp</b> ()</td></tr>
 </table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 <div class="textblock"><p>logger is a class which accepts log messages with the &lt;&lt; operator or through a member function called log. It then passes the message off to its predetermined handlers. </p>
 <p>logger </p>
 </div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a1b4657f03e90502d6cc655051d968a64"></a><!-- doxytag: member="al::logger::logger" ref="a1b4657f03e90502d6cc655051d968a64" args="(const std::list&lt; std::shared_ptr&lt; handler &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name)" -->
+<a class="anchor" id="a3cadf9937463b65343f29459a59bf564"></a><!-- doxytag: member="al::logger::logger" ref="a3cadf9937463b65343f29459a59bf564" args="(const std::list&lt; std::shared_ptr&lt; handler &gt;&gt; &amp;handlers, level ignore, const std::string &amp;logger_name, bool t)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classal_1_1logger.html#a1b4657f03e90502d6cc655051d968a64">al::logger::logger</a> </td>
+          <td class="memname"><a class="el" href="classal_1_1logger.html#a3cadf9937463b65343f29459a59bf564">al::logger::logger</a> </td>
           <td>(</td>
           <td class="paramtype">const std::list&lt; std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt;&gt; &amp;&#160;</td>
           <td class="paramname"><em>handlers</em>, </td>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const std::string &amp;&#160;</td>
-          <td class="paramname"><em>logger_name</em>&#160;</td>
+          <td class="paramname"><em>logger_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>t</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
     <tr><td class="paramname">handlers</td><td>The list of handlers to be attached to this logger. </td></tr>
     <tr><td class="paramname">ignore</td><td>The ignore level for the logger. </td></tr>
     <tr><td class="paramname">logger_name</td><td>The name that will appear in logs to identify this class. </td></tr>
+    <tr><td class="paramname">t</td><td>Determines whether the logger is timestamped. </td></tr>
   </table>
   </dd>
 </dl>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td>
+          <td></td><td><code> [virtual]</code></td>
         </tr>
       </table>
 </div>
           <td>(</td>
           <td class="paramtype">level&#160;</td>
           <td class="paramname"><em>l</em></td><td>)</td>
-          <td></td>
+          <td><code> [virtual]</code></td>
         </tr>
       </table>
 </div>
           <td>(</td>
           <td class="paramtype">const std::string &amp;&#160;</td>
           <td class="paramname"><em>input</em></td><td>)</td>
-          <td></td>
+          <td><code> [virtual]</code></td>
         </tr>
       </table>
 </div>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classal_1_1end.html">end</a>&#160;</td>
           <td class="paramname"></td><td>)</td>
-          <td></td>
+          <td><code> [virtual]</code></td>
         </tr>
       </table>
 </div>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1logger__creator-members.html

 </div>
 <div class="header">
   <div class="headertitle">
-<div class="title">al::logger_creator Member List</div>  </div>
+<div class="title">al::logger_creator&lt; T &gt; Member List</div>  </div>
 </div><!--header-->
 <div class="contents">
-This is the complete list of members for <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>, including all inherited members.<table>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">add_handler</a>(const std::shared_ptr&lt; handler &gt; &amp;new_handler)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handler_list</b> (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>ignore_level</b> (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#aa09b2da8d857d2dd0757090a6e94b27e">logger_creator</a>()</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a59bb08d9ed8c2ffd5c33f40782d8465e">set_ignore</a>(const level &amp;l)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a0053f184b8c9b376d704201f7e3bb247">spawn</a>(const std::string &amp;name)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~logger_creator</b>() (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td><code> [inline, virtual]</code></td></tr>
+This is the complete list of members for <a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a4a9a6b5cdad5b1b1dd7834e44190277c">add_handler</a>(const std::shared_ptr&lt; handler &gt; &amp;new_handler)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a46ca3d1c26b3f4e1f0bc04995950def3">add_handler</a>(handler *new_handler)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>handler_list</b> (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ignore_level</b> (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>is_timestamped</b> (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#a35e1652aaa0a7f2c9efd3a8b9b49031a">logger_creator</a>()</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#ab0d683f294d10a8326b79f411616a530">set_ignore</a>(const level &amp;l)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#afb665d5356529217ea15810d889a85c1">spawn</a>(const std::string &amp;name)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1logger__creator.html#aa98cc9aef7d054d2ac0feb5e7f176dff">timestamped</a>(bool t)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>~logger_creator</b>() (defined in <a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a>)</td><td><a class="el" href="classal_1_1logger__creator.html">al::logger_creator&lt; T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1logger__creator.html

 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>Al: al::logger_creator Class Reference</title>
+<title>Al: al::logger_creator&lt; T &gt; Class Template Reference</title>
 
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 <a href="#pub-methods">Public Member Functions</a> &#124;
 <a href="#pro-attribs">Protected Attributes</a>  </div>
   <div class="headertitle">
-<div class="title">al::logger_creator Class Reference</div>  </div>
+<div class="title">al::logger_creator&lt; T &gt; Class Template Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
 <!-- doxytag: class="al::logger_creator" -->
 <table class="memberdecls">
 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#aa09b2da8d857d2dd0757090a6e94b27e">logger_creator</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">add_handler</a> (const std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt; &amp;new_handler)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a59bb08d9ed8c2ffd5c33f40782d8465e">set_ignore</a> (const level &amp;l)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger.html">logger</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a0053f184b8c9b376d704201f7e3bb247">spawn</a> (const std::string &amp;name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a35e1652aaa0a7f2c9efd3a8b9b49031a">logger_creator</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a4a9a6b5cdad5b1b1dd7834e44190277c">add_handler</a> (const std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt; &amp;new_handler)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#a46ca3d1c26b3f4e1f0bc04995950def3">add_handler</a> (<a class="el" href="classal_1_1handler.html">handler</a> *new_handler)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#aa98cc9aef7d054d2ac0feb5e7f176dff">timestamped</a> (bool t)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#ab0d683f294d10a8326b79f411616a530">set_ignore</a> (const level &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1logger__creator.html#afb665d5356529217ea15810d889a85c1">spawn</a> (const std::string &amp;name)</td></tr>
 <tr><td colspan="2"><h2><a name="pro-attribs"></a>
 Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a323fe35f3321938c644f5fa67f658d89"></a><!-- doxytag: member="al::logger_creator::handler_list" ref="a323fe35f3321938c644f5fa67f658d89" args="" -->
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61e453d79d94afdf319eb5eec2990377"></a><!-- doxytag: member="al::logger_creator::handler_list" ref="a61e453d79d94afdf319eb5eec2990377" args="" -->
 std::list&lt; std::shared_ptr<br class="typebreak"/>
 &lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>handler_list</b></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0994503771844b237fd9593ed964dc3"></a><!-- doxytag: member="al::logger_creator::ignore_level" ref="ad0994503771844b237fd9593ed964dc3" args="" -->
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22b6c0aac729f73bcfea6e3cf847860e"></a><!-- doxytag: member="al::logger_creator::ignore_level" ref="a22b6c0aac729f73bcfea6e3cf847860e" args="" -->
 level&#160;</td><td class="memItemRight" valign="bottom"><b>ignore_level</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bcc25ff69274572ce554a6995d1a634"></a><!-- doxytag: member="al::logger_creator::is_timestamped" ref="a3bcc25ff69274572ce554a6995d1a634" args="" -->
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_timestamped</b></td></tr>
 </table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<div class="textblock"><p>This class should be used to specify the settings of a logger or loggers and then to generate them. </p>
+<div class="textblock"><h3>template&lt;typename T&gt;<br/>
+class al::logger_creator&lt; T &gt;</h3>
+
+<p>This class should be used to specify the settings of a logger or loggers and then to generate them. </p>
 <p><a class="el" href="classal_1_1logger__creator.html" title="This class should be used to specify the settings of a logger or loggers and then to generate them...">logger_creator</a> </p>
 </div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="aa09b2da8d857d2dd0757090a6e94b27e"></a><!-- doxytag: member="al::logger_creator::logger_creator" ref="aa09b2da8d857d2dd0757090a6e94b27e" args="()" -->
+<a class="anchor" id="a35e1652aaa0a7f2c9efd3a8b9b49031a"></a><!-- doxytag: member="al::logger_creator::logger_creator" ref="a35e1652aaa0a7f2c9efd3a8b9b49031a" args="()" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classal_1_1logger__creator.html#aa09b2da8d857d2dd0757090a6e94b27e">al::logger_creator::logger_creator</a> </td>
+          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html">logger_creator</a> </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td><code> [inline]</code></td>
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a4d321e8c955dcef2f66c349146011af9"></a><!-- doxytag: member="al::logger_creator::add_handler" ref="a4d321e8c955dcef2f66c349146011af9" args="(const std::shared_ptr&lt; handler &gt; &amp;new_handler)" -->
+<a class="anchor" id="a4a9a6b5cdad5b1b1dd7834e44190277c"></a><!-- doxytag: member="al::logger_creator::add_handler" ref="a4a9a6b5cdad5b1b1dd7834e44190277c" args="(const std::shared_ptr&lt; handler &gt; &amp;new_handler)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">al::logger_creator::add_handler</a> </td>
+          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html#a4a9a6b5cdad5b1b1dd7834e44190277c">add_handler</a> </td>
           <td>(</td>
           <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt; &amp;&#160;</td>
           <td class="paramname"><em>new_handler</em></td><td>)</td>
 
 </div>
 </div>
-<a class="anchor" id="a59bb08d9ed8c2ffd5c33f40782d8465e"></a><!-- doxytag: member="al::logger_creator::set_ignore" ref="a59bb08d9ed8c2ffd5c33f40782d8465e" args="(const level &amp;l)" -->
+<a class="anchor" id="a46ca3d1c26b3f4e1f0bc04995950def3"></a><!-- doxytag: member="al::logger_creator::add_handler" ref="a46ca3d1c26b3f4e1f0bc04995950def3" args="(handler *new_handler)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html#a59bb08d9ed8c2ffd5c33f40782d8465e">al::logger_creator::set_ignore</a> </td>
+          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html#a4a9a6b5cdad5b1b1dd7834e44190277c">add_handler</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classal_1_1handler.html">handler</a> *&#160;</td>
+          <td class="paramname"><em>new_handler</em></td><td>)</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This adds a new handler to the list of handlers. This will NOT affect previously generated loggers, but will affect any loggers generated after this call.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">new_handler</td><td>The handler that will be added. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ab0d683f294d10a8326b79f411616a530"></a><!-- doxytag: member="al::logger_creator::set_ignore" ref="ab0d683f294d10a8326b79f411616a530" args="(const level &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html#ab0d683f294d10a8326b79f411616a530">set_ignore</a> </td>
           <td>(</td>
           <td class="paramtype">const level &amp;&#160;</td>
           <td class="paramname"><em>l</em></td><td>)</td>
 
 </div>
 </div>
-<a class="anchor" id="a0053f184b8c9b376d704201f7e3bb247"></a><!-- doxytag: member="al::logger_creator::spawn" ref="a0053f184b8c9b376d704201f7e3bb247" args="(const std::string &amp;name)" -->
+<a class="anchor" id="afb665d5356529217ea15810d889a85c1"></a><!-- doxytag: member="al::logger_creator::spawn" ref="afb665d5356529217ea15810d889a85c1" args="(const std::string &amp;name)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classal_1_1logger.html">logger</a> <a class="el" href="classal_1_1logger__creator.html#a0053f184b8c9b376d704201f7e3bb247">al::logger_creator::spawn</a> </td>
+          <td class="memname">T <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html#afb665d5356529217ea15810d889a85c1">spawn</a> </td>
           <td>(</td>
           <td class="paramtype">const std::string &amp;&#160;</td>
           <td class="paramname"><em>name</em></td><td>)</td>
 
 </div>
 </div>
+<a class="anchor" id="aa98cc9aef7d054d2ac0feb5e7f176dff"></a><!-- doxytag: member="al::logger_creator::timestamped" ref="aa98cc9aef7d054d2ac0feb5e7f176dff" args="(bool t)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a>&amp; <a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a>&lt; T &gt;::<a class="el" href="classal_1_1logger__creator.html#aa98cc9aef7d054d2ac0feb5e7f176dff">timestamped</a> </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Decides whether log entries should have a time stamp on any loggers generated after this call. It will NOT affect any previously created loggers.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">t</td><td>true if there should be a timestamp </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>src/<a class="el" href="logger__creator_8hpp_source.html">logger_creator.hpp</a></li>
 </ul>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1memory__handler-members.html

 </div><!--header-->
 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">handle</a>(const std::string &amp;)</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#a5d2bda991fb466cf804fbd0646f21eea">handle</a>(level, const std::string &amp;, const std::string &amp;, const std::string &amp;)</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">handle</a>(level, const std::string &amp;, const std::string &amp;)</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#a74331eb896c73e46e9d8da1ab8443b32">memory_handler</a>(size_t bsize, std::shared_ptr&lt; handler &gt; exit)</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>to_string</b>(level l) (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#a9fb2ab334acd0702992e2457c4098b77">memory_handler</a>(size_t bsize, handler *exit)</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(level l)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~handler</b>() (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1memory__handler.html#a09887d99cbdaea2db862a92b9d1edd7c">~memory_handler</a>()</td><td><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td></td></tr>
 </table></div><!-- contents -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1memory__handler.html

 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#a74331eb896c73e46e9d8da1ab8443b32">memory_handler</a> (size_t bsize, std::shared_ptr&lt; <a class="el" href="classal_1_1handler.html">handler</a> &gt; exit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#a9fb2ab334acd0702992e2457c4098b77">memory_handler</a> (size_t bsize, <a class="el" href="classal_1_1handler.html">handler</a> *exit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">handle</a> (const std::string &amp;)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#a5d2bda991fb466cf804fbd0646f21eea">handle</a> (level, const std::string &amp;, const std::string &amp;, const std::string &amp;)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">handle</a> (level, const std::string &amp;, const std::string &amp;)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1memory__handler.html#a09887d99cbdaea2db862a92b9d1edd7c">~memory_handler</a> ()</td></tr>
 </table>
 
 </div>
 </div>
+<a class="anchor" id="a9fb2ab334acd0702992e2457c4098b77"></a><!-- doxytag: member="al::memory_handler::memory_handler" ref="a9fb2ab334acd0702992e2457c4098b77" args="(size_t bsize, handler *exit)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classal_1_1memory__handler.html#a74331eb896c73e46e9d8da1ab8443b32">memory_handler::memory_handler</a> </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>bsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classal_1_1handler.html">handler</a> *&#160;</td>
+          <td class="paramname"><em>exit</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">bsize</td><td>The maximum number of entries to store in memory. </td></tr>
+    <tr><td class="paramname">exit</td><td>The handler which should be invoked on this objects destruction. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a class="anchor" id="a09887d99cbdaea2db862a92b9d1edd7c"></a><!-- doxytag: member="al::memory_handler::~memory_handler" ref="a09887d99cbdaea2db862a92b9d1edd7c" args="()" -->
 <div class="memitem">
 <div class="memproto">
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6e8ccdb9752f787cedd61576c8758298"></a><!-- doxytag: member="al::memory_handler::handle" ref="a6e8ccdb9752f787cedd61576c8758298" args="(const std::string &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">memory_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Stores the entry in memory (currently a std::deque). If the number of entries exceeds the expected maximum amount, the oldest is deleted. </p>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5d2bda991fb466cf804fbd0646f21eea"></a><!-- doxytag: member="al::memory_handler::handle" ref="a5d2bda991fb466cf804fbd0646f21eea" args="(level, const std::string &amp;, const std::string &amp;, const std::string &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">memory_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Stores the entry in memory (currently a std::deque). If the number of entries exceeds the expected maximum amount, the oldest is deleted. </p>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">al::handler</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="ac7d78c5cee952f2934b12e26f4f271eb"></a><!-- doxytag: member="al::memory_handler::handle" ref="ac7d78c5cee952f2934b12e26f4f271eb" args="(level, const std::string &amp;, const std::string &amp;)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">memory_handler::handle</a> </td>
+          <td class="memname">void <a class="el" href="classal_1_1memory__handler.html#a6e8ccdb9752f787cedd61576c8758298">memory_handler::handle</a> </td>
           <td>(</td>
           <td class="paramtype">level&#160;</td>
           <td class="paramname"><em>l</em>, </td>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1rolling__handler-members.html

 </div><!--header-->
 <div class="contents">
 This is the complete list of members for <a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">handle</a>(const std::string &amp;message)</td><td><a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1rolling__handler.html#a7be82c1cfe439d591d50dc83eeea35c8">handle</a>(level l, const std::string &amp;timestamp, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">handle</a>(level l, const std::string &amp;name, const std::string &amp;message)</td><td><a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classal_1_1rolling__handler.html#a3794e5b1bca80be34af48a037c6ecf20">rolling_handler</a>(const std::string &amp;name, size_t max_e, size_t max_f)</td><td><a class="el" href="classal_1_1rolling__handler.html">al::rolling_handler</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>to_string</b>(level l) (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(level l)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, protected, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~handler</b>() (defined in <a class="el" href="classal_1_1handler.html">al::handler</a>)</td><td><a class="el" href="classal_1_1handler.html">al::handler</a></td><td><code> [inline, virtual]</code></td></tr>
 </table></div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classal_1_1rolling__handler.html

 <tr><td colspan="2"><h2><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1rolling__handler.html#a3794e5b1bca80be34af48a037c6ecf20">rolling_handler</a> (const std::string &amp;name, size_t max_e, size_t max_f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">handle</a> (const std::string &amp;message)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1rolling__handler.html#a7be82c1cfe439d591d50dc83eeea35c8">handle</a> (level l, const std::string &amp;timestamp, const std::string &amp;name, const std::string &amp;message)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">handle</a> (level l, const std::string &amp;name, const std::string &amp;message)</td></tr>
 </table>
 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a70bcaa16809070c914baa628a51650fb"></a><!-- doxytag: member="al::rolling_handler::handle" ref="a70bcaa16809070c914baa628a51650fb" args="(const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">al::rolling_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Writes the appropriate information in csv form using a rotator. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">message</td><td>The raw message. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7be82c1cfe439d591d50dc83eeea35c8"></a><!-- doxytag: member="al::rolling_handler::handle" ref="a7be82c1cfe439d591d50dc83eeea35c8" args="(level l, const std::string &amp;timestamp, const std::string &amp;name, const std::string &amp;message)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">al::rolling_handler::handle</a> </td>
+          <td>(</td>
+          <td class="paramtype">level&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Writes the appropriate information in csv form using a rotator. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+  <table class="params">
+    <tr><td class="paramname">l</td><td>The level of the entry. </td></tr>
+    <tr><td class="paramname">timestamp</td><td>The timestamp of the entry </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the logger which created it. </td></tr>
+    <tr><td class="paramname">message</td><td>The actual message. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classal_1_1handler.html#a11ebca923dc7a3f8ffa3f802c5598cb0">al::handler</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="aaaeaff11945ff3c2a313f465724ad8a7"></a><!-- doxytag: member="al::rolling_handler::handle" ref="aaaeaff11945ff3c2a313f465724ad8a7" args="(level l, const std::string &amp;name, const std::string &amp;message)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">al::rolling_handler::handle</a> </td>
+          <td class="memname">void <a class="el" href="classal_1_1rolling__handler.html#a70bcaa16809070c914baa628a51650fb">al::rolling_handler::handle</a> </td>
           <td>(</td>
           <td class="paramtype">level&#160;</td>
           <td class="paramname"><em>l</em>, </td>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/classes.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/clog__handler_8hpp_source.html

+<!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"/>
+<title>Al: src/handlers/clog_handler.hpp Source File</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  
+  <td id="projectlogo"><img alt="Logo" src="al.jpg"/></td>
+  
+  
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Al
+   &#160;<span id="projectnumber">0.1</span>
+   </div>
+   <div id="projectbrief">Al, short for &quot;Another logger&quot; is a simple lightweight logging system in C++. It is designed both for my personal use and for the FIRST robotics competition. It&#39;s designed to feel similar to streams but with much more flexible possibilities.</div>
+  </td>
+  
+  
+  
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.6.1 -->
+<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="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>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">src/handlers/clog_handler.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef CLOG_HANDLER_H</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define CLOG_HANDLER_H</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#include &quot;handler.hpp&quot;</span>
+<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00006"></a>00006 
+<a name="l00007"></a>00007 <span class="keyword">namespace </span>al{
+<a name="l00014"></a>00014   <span class="keyword">class </span>cerr_handler : <span class="keyword">public</span> handler{
+<a name="l00015"></a>00015     <span class="keyword">public</span>: 
+<a name="l00016"></a><a class="code" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">00016</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">handle</a>(level l, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; message){
+<a name="l00017"></a>00017         std::clog&lt;&lt;<span class="stringliteral">&quot;(&quot;</span>&lt;&lt; <a class="code" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(l) &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt;name&lt;&lt;<span class="stringliteral">&quot; : &quot;</span>&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00018"></a>00018       }
+<a name="l00019"></a>00019 
+<a name="l00020"></a><a class="code" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">00020</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#a70dcc4ff1a54a3af30a62e70eb1ec4a5">handle</a>(level l, <span class="keyword">const</span> std::string&amp; time, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; message){
+<a name="l00021"></a>00021         std::clog&lt;&lt;<span class="stringliteral">&quot;(&quot;</span>&lt;&lt; <a class="code" href="classal_1_1handler.html#a46745146bc6348c43f6fd469df59ef2a">to_string</a>(l) &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>&lt;&lt;time&lt;&lt;<span class="stringliteral">&quot;, &quot;</span>&lt;&lt;name&lt;&lt;<span class="stringliteral">&quot; : &quot;</span>&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00022"></a>00022       }
+<a name="l00023"></a>00023 
+<a name="l00024"></a><a class="code" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">00024</a>       <span class="keywordtype">void</span> <a class="code" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">handle</a>(<span class="keyword">const</span> std::string&amp; message){
+<a name="l00025"></a>00025         std::clog&lt;&lt;message&lt;&lt;std::endl;
+<a name="l00026"></a>00026       }
+<a name="l00027"></a>00027   };
+<a name="l00028"></a>00028 }
+<a name="l00029"></a>00029 <span class="preprocessor">#endif</span>
+</pre></div></div><!-- contents -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a></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>
+
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Nov 12 2012 18:40:48 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.7.6.1
+</small></address>
+
+</body>
+</html>

File docs/html/file__handler_8hpp_source.html

 <a name="l00013"></a>00013     <span class="keyword">public</span>:
 <a name="l00018"></a>00018       <a class="code" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">file_handler</a>(<span class="keyword">const</span> std::string&amp; file);
 <a name="l00019"></a>00019 
-<a name="l00025"></a>00025       <span class="keywordtype">void</span> <a class="code" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">handle</a>(level, <span class="keyword">const</span> std::string&amp;, <span class="keyword">const</span> std::string&amp;);
+<a name="l00025"></a>00025       <span class="keywordtype">void</span> <a class="code" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">handle</a>(level, <span class="keyword">const</span> std::string&amp;, <span class="keyword">const</span> std::string&amp;, <span class="keyword">const</span> std::string&amp;);
 <a name="l00026"></a>00026 
-<a name="l00027"></a>00027     <span class="keyword">private</span>:
-<a name="l00028"></a>00028       std::ofstream stream;
-<a name="l00029"></a>00029   };
-<a name="l00030"></a>00030 }
-<a name="l00031"></a>00031 
-<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
+<a name="l00032"></a>00032       <span class="keywordtype">void</span> <a class="code" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">handle</a>(level, <span class="keyword">const</span> std::string&amp;, <span class="keyword">const</span> std::string&amp;);
+<a name="l00033"></a>00033 
+<a name="l00039"></a>00039       <span class="keywordtype">void</span> <a class="code" href="classal_1_1file__handler.html#a1376091820f51db3ef0423b0e39a9680">handle</a>(<span class="keyword">const</span> std::string&amp;);
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041     <span class="keyword">private</span>:
+<a name="l00042"></a>00042       std::ofstream stream;
+<a name="l00043"></a>00043   };
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 
+<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
 </pre></div></div><!-- contents -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:48 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/files.html

   <tr><td class="indexkey">src/<b>logger.hpp</b> <a href="logger_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/<b>logger_creator.hpp</b> <a href="logger__creator_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>cerr_handler.hpp</b> <a href="cerr__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">src/handlers/<b>clog_handler.hpp</b> <a href="clog__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>file_handler.hpp</b> <a href="file__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>handler.hpp</b> <a href="handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>memory_handler.hpp</b> <a href="memory__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 11 2012 00:17:01 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Nov 12 2012 18:40:49 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

File docs/html/functions.html

       <li><a href="functions_func.html"><span>Functions</span></a></li>
     </ul>
   </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
 </div>
 <div class="contents">
-<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
 <li>add_handler()
-: <a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">al::logger_creator</a>
+: <a class="el" href="classal_1_1logger__creator.html#a4a9a6b5cdad5b1b1dd7834e44190277c">al::logger_creator&lt; T &gt;</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
 <li>file_handler()
 : <a class="el" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">al::file_handler</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
 <li>handle()
-: <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>
+: <a class="el" href="classal_1_1cerr__handler.html#aec62acaf51e9a5046ef300fe6787d1aa">al::cerr_handler</a>
 , <a class="el" href="classal_1_1rolling__handler.html#aaaeaff11945ff3c2a313f465724ad8a7">al::rolling_handler</a>
 , <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>
-, <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>
+, <a class="el" href="classal_1_1handler.html#af041d0c1de7e49607e27572f73413e82">al::handler</a>
+, <a class="el" href="classal_1_1file__handler.html#a1d02c57ba2bb955c4a2ecf6886b96756">al::file_handler</a>
+, <a class="el" href="classal_1_1cerr__handler.html#adc5f179798baf0a4c6a53a539814b4db">al::cerr_handler</a>
 </li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>log()
 : <a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">al::logger</a>
 </li>
 <li>logger()
-: <a class="el" href="classal_1_1logger.html#a1b4657f03e90502d6cc655051d968a64">al::logger</a>
+: <a class="el" href="classal_1_1logger.html#a3cadf9937463b65343f29459a59bf564">al::logger</a>