Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > ed376d6842ea322c25405e7c23b3bc12 > files > 74

libcommoncpp-devel-1.8.0-5.1mdv2010.1.i586.rpm

<!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"/>
<title>GNU CommonC++: ost::AppLog Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceost.html">ost</a>::<a class="el" href="classost_1_1_app_log.html">AppLog</a>
  </div>
</div>
<div class="contents">
<h1>ost::AppLog Class Reference</h1><!-- doxytag: class="ost::AppLog" -->
<p>Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="applog_8h_source.html">applog.h</a>&gt;</code></p>

<p><a href="classost_1_1_app_log-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log_1_1_ident.html">Ident</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classost_1_1_app_log_1_1_ident.html" title="Ident class that represents module name.">Ident</a> class that represents module name.  <a href="classost_1_1_app_log_1_1_ident.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a78133f3cc25a18ecaa41b0eddb3776e5">AppLog</a> (const char *logFileName=NULL, bool logDirectly=false, bool usePipe=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for a customized logger.  <a href="#a78133f3cc25a18ecaa41b0eddb3776e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a856bce24c2609d7adcaba7cc1c408e3c">~AppLog</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a856bce24c2609d7adcaba7cc1c408e3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a3c76a1985f5914eb4865ae61d91679e4">subscribe</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribes the current thread to logger, it reserves thread safe buffer for it.  <a href="#a3c76a1985f5914eb4865ae61d91679e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#aeb5299f9ca8c804a3d35814512a2cc54">unsubscribe</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribes the current thread from logger.  <a href="#aeb5299f9ca8c804a3d35814512a2cc54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ae9d2a4d88012848153362ca772a8b134">logFileName</a> (const char *FileName, bool logDirectly=false, bool usePipe=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows to set up <a class="el" href="namespaceost.html#ac345333eb0936b0bf9bef5e72cef1440" title="alog global log stream definition">ost::alog</a> parameters.  <a href="#ae9d2a4d88012848153362ca772a8b134"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#af547b36fb97fbfb0247c9dbd6be504a7">close</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if logDirectly is set it closes the file.  <a href="#af547b36fb97fbfb0247c9dbd6be504a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ae04e9c2b10440dea73e4b5dfacab516f">level</a> (<a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> enable)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the log level.  <a href="#ae04e9c2b10440dea73e4b5dfacab516f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ab73ed26ae155ef0979c9cd9aca4a56ac">clogEnable</a> (bool en=true)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables clog output.  <a href="#ab73ed26ae155ef0979c9cd9aca4a56ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a1246d82a3ade23ff4103dd8f8730b65d">slogEnable</a> (bool en=true)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables slog output for error level messages.  <a href="#a1246d82a3ade23ff4103dd8f8730b65d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a9aa3f754131ad110e0080ae6d58c8bdc">identLevel</a> (const char *ident, <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the level for that ident.  <a href="#a9aa3f754131ad110e0080ae6d58c8bdc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#abf016f8dd905014b78e55904884bddc1">open</a> (const char *ident)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the file if not already and sets ident.  <a href="#abf016f8dd905014b78e55904884bddc1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ab53bb870e5f1fc9d408369bd0d526a2b">overflow</a> (int c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stream <a class="el" href="classost_1_1_app_log.html#ab53bb870e5f1fc9d408369bd0d526a2b" title="stream overflow() overload.">overflow()</a> overload.  <a href="#ab53bb870e5f1fc9d408369bd0d526a2b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a756c7e5709a35a2f1ab33343a5607665">sync</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stream <a class="el" href="classost_1_1_app_log.html#a756c7e5709a35a2f1ab33343a5607665" title="stream sync() overload">sync()</a> overload  <a href="#a756c7e5709a35a2f1ab33343a5607665"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#acb3b8f6bcce010cdbf1c0b2684a84035">emerg</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">emerg level printf style method, provided for convenience.  <a href="#acb3b8f6bcce010cdbf1c0b2684a84035"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a3cba574a94dfdd712cc5e89904e01189">alert</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">alert level printf style method, provided for convenience.  <a href="#a3cba574a94dfdd712cc5e89904e01189"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a3d62b8b1a4ef6f4094f8ff57a6f1015e">critical</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">critical level printf style method, provided for convenience.  <a href="#a3d62b8b1a4ef6f4094f8ff57a6f1015e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#abcebbf3a2c1c00afaef6998f8a94c6fc">error</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">error level printf style method, provided for convenience.  <a href="#abcebbf3a2c1c00afaef6998f8a94c6fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#af7c977ae8f56f1465631b7a336dede92">warn</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">warn level printf style method, provided for convenience.  <a href="#af7c977ae8f56f1465631b7a336dede92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a2be051b9ff7f732fe00c355585201a72">notice</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">notice level printf style method, provided for convenience.  <a href="#a2be051b9ff7f732fe00c355585201a72"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a0764ecd8a8fe77bb1bd0dddd6a35c5ad">info</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">info level printf style method, provided for convenience.  <a href="#a0764ecd8a8fe77bb1bd0dddd6a35c5ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a1d739e182af596268e764631c5ead925">debug</a> (const char *format,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">debug level printf style method, provided for convenience.  <a href="#a1d739e182af596268e764631c5ead925"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a2532028c7fc69e6cb0d1fcab23f7c4da">operator()</a> (const char *ident, <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> level=Slog::levelError)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator to change ident and log level  <a href="#a2532028c7fc69e6cb0d1fcab23f7c4da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a673f799d6c818a46dac948e08dbefeb1">operator()</a> (<a class="el" href="classost_1_1_app_log_1_1_ident.html">Ident</a> &amp;ident)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator to change ident  <a href="#a673f799d6c818a46dac948e08dbefeb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a8d4027c2fa3e7f9c2531097428d16d52">operator()</a> (<a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator to change logging level  <a href="#a8d4027c2fa3e7f9c2531097428d16d52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a5065e3bba6b28b1019fd5511bab1d1c7">operator&lt;&lt;</a> (<a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;(*pfManipulator)(<a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">manipulator operator, to change print levels.  <a href="#a5065e3bba6b28b1019fd5511bab1d1c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a432afeaf9443ac68abd783e48c8b2a28">operator&lt;&lt;</a> (ostream &amp;(*pfManipulator)(ostream &amp;))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">manipulator operator, to use ostream manipulators (i.e.  <a href="#a432afeaf9443ac68abd783e48c8b2a28"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a5c9718f106182a1ec8b659c47c71a784">operator&lt;&lt;</a> (<a class="el" href="classost_1_1_app_log_1_1_ident.html">Ident</a> &amp;ident)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator &lt;&lt;  <a href="#a5c9718f106182a1ec8b659c47c71a784"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#accb6db72e959657f69c0d77c748f8b59">warn</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">warn level  <a href="#accb6db72e959657f69c0d77c748f8b59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ab99b34d86684217522da9c40564cdb14">error</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">error level  <a href="#ab99b34d86684217522da9c40564cdb14"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#af1bf30ea9b0d324cf66c04f2386b4390">debug</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">debug level  <a href="#af1bf30ea9b0d324cf66c04f2386b4390"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a96dc36849c8d4b815c094b63ad8672ce">emerg</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">emerg level  <a href="#a96dc36849c8d4b815c094b63ad8672ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#aa2bbf94e5e3437f32ffa2622a67dfef1">alert</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">alert level  <a href="#aa2bbf94e5e3437f32ffa2622a67dfef1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a5b36002e1bcbd94380878e2b1dd8cf60">critical</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">critical level  <a href="#a5b36002e1bcbd94380878e2b1dd8cf60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ab9cc7122fa0d1f6b4e13abb99779f715">notice</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">notice level  <a href="#ab9cc7122fa0d1f6b4e13abb99779f715"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#ac014c749d07e07765fb42a947acee104">info</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">info level  <a href="#ac014c749d07e07765fb42a947acee104"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a3373feee3364f5055a254a5631f0ba06">levelTranslate</a> (string name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates level from string to <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>, useful for configuration files for instance.  <a href="#a3373feee3364f5055a254a5631f0ba06"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a79d510ca42b9548f9f890b78482da853">writeLog</a> (bool endOfLine=true)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">AppLogPrivate *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#addfc3b19ad63afdec4c97de6761ddc81">d</a></td></tr>
<tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static map&lt; string, <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a6856a1e8dda262714294257163156196">assoc</a></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_app_log.html#a384f03d87c24cce6657ca9b2628ffabc">operator&lt;&lt;</a> (ostream &amp;out, <a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;al)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system. </p>
<p>It uses <a class="el" href="namespaceost.html#a521e76d0861afe0b523e3c0c3956dca8">ost::slog</a> to write to syslog and std::clog to write to standard output.</p>
<p>It provides either a stream oriented logger or a old printf style one.</p>
<p>It can be used to log directly on a file or in a spooler like way. Latter uses a <a class="el" href="classost_1_1_thread_queue.html" title="Somewhat generic queue processing class to establish a producer consumer queue.">ost::ThreadQueue</a> to implement a thread safe access to logger.</p>
<p>It provides a global stream variable called <a class="el" href="namespaceost.html#ac345333eb0936b0bf9bef5e72cef1440" title="alog global log stream definition">ost::alog</a>.</p>
<p>It provides an <a class="el" href="classost_1_1_app_log_1_1_ident.html" title="Ident class that represents module name.">AppLog::Ident</a> class that represents a module name for instance that can be used to tag logs. Logging levels are the same defined into <a class="el" href="classost_1_1_slog.html" title="The slog class is used to stream messages to the system&#39;s logging facility (syslogd)...">ost::Slog</a>: <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa1acd6522fbb9d8790867d5c51ea9b008">Slog::levelEmergency</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa4862c8c52a86210064d2d6360db6b18d">Slog::levelAlert</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aabe7a4f15d9ea484e01831a7dc3e71926">Slog::levelCritical</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aaf82cf7bb589d776186fbd0ab7b345f6e">Slog::levelError</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa568c02bbd98a58f508a83334c65ffcea">Slog::levelWarning</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aada39f730e92fdec6cad3616fa3567c95">Slog::levelNotice</a> <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa4a5387e1f48ef86841a807f6687d3d9c">Slog::levelInfo</a> Slog::levelDebugfrom.</p>
<p>Example of usage: alog &lt;&lt; mod_name &lt;&lt; debug &lt;&lt; "Hello world!" &lt;&lt; std::endl; </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a78133f3cc25a18ecaa41b0eddb3776e5"></a><!-- doxytag: member="ost::AppLog::AppLog" ref="a78133f3cc25a18ecaa41b0eddb3776e5" args="(const char *logFileName=NULL, bool logDirectly=false, bool usePipe=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::AppLog::AppLog </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>logFileName</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>logDirectly</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>usePipe</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for a customized logger. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>logFileName</em>&nbsp;</td><td>log file name. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>logDirectly</em>&nbsp;</td><td>true to write directly to file, false to use a spooler like logger. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>usePipe</em>&nbsp;</td><td>true to use pipe instead of file, false otherwise </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a856bce24c2609d7adcaba7cc1c408e3c"></a><!-- doxytag: member="ost::AppLog::~AppLog" ref="a856bce24c2609d7adcaba7cc1c408e3c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::AppLog::~AppLog </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa2bbf94e5e3437f32ffa2622a67dfef1"></a><!-- doxytag: member="ost::AppLog::alert" ref="aa2bbf94e5e3437f32ffa2622a67dfef1" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::alert </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>alert level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00125">ost::Slog::levelAlert</a>.</p>

</div>
</div>
<a class="anchor" id="a3cba574a94dfdd712cc5e89904e01189"></a><!-- doxytag: member="ost::AppLog::alert" ref="a3cba574a94dfdd712cc5e89904e01189" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::alert </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>alert level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab73ed26ae155ef0979c9cd9aca4a56ac"></a><!-- doxytag: member="ost::AppLog::clogEnable" ref="ab73ed26ae155ef0979c9cd9aca4a56ac" args="(bool en=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::clogEnable </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>en</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables clog output. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>en</em>&nbsp;</td><td>true to enable clog output. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af547b36fb97fbfb0247c9dbd6be504a7"></a><!-- doxytag: member="ost::AppLog::close" ref="af547b36fb97fbfb0247c9dbd6be504a7" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::close </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if logDirectly is set it closes the file. </p>

</div>
</div>
<a class="anchor" id="a5b36002e1bcbd94380878e2b1dd8cf60"></a><!-- doxytag: member="ost::AppLog::critical" ref="a5b36002e1bcbd94380878e2b1dd8cf60" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::critical </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>critical level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00126">ost::Slog::levelCritical</a>.</p>

</div>
</div>
<a class="anchor" id="a3d62b8b1a4ef6f4094f8ff57a6f1015e"></a><!-- doxytag: member="ost::AppLog::critical" ref="a3d62b8b1a4ef6f4094f8ff57a6f1015e" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::critical </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>critical level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af1bf30ea9b0d324cf66c04f2386b4390"></a><!-- doxytag: member="ost::AppLog::debug" ref="af1bf30ea9b0d324cf66c04f2386b4390" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::debug </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>debug level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00131">ost::Slog::levelDebug</a>.</p>

</div>
</div>
<a class="anchor" id="a1d739e182af596268e764631c5ead925"></a><!-- doxytag: member="ost::AppLog::debug" ref="a1d739e182af596268e764631c5ead925" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::debug </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>debug level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a96dc36849c8d4b815c094b63ad8672ce"></a><!-- doxytag: member="ost::AppLog::emerg" ref="a96dc36849c8d4b815c094b63ad8672ce" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::emerg </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>emerg level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00124">ost::Slog::levelEmergency</a>.</p>

</div>
</div>
<a class="anchor" id="acb3b8f6bcce010cdbf1c0b2684a84035"></a><!-- doxytag: member="ost::AppLog::emerg" ref="acb3b8f6bcce010cdbf1c0b2684a84035" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::emerg </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>emerg level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab99b34d86684217522da9c40564cdb14"></a><!-- doxytag: member="ost::AppLog::error" ref="ab99b34d86684217522da9c40564cdb14" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::error </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>error level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00127">ost::Slog::levelError</a>.</p>

</div>
</div>
<a class="anchor" id="abcebbf3a2c1c00afaef6998f8a94c6fc"></a><!-- doxytag: member="ost::AppLog::error" ref="abcebbf3a2c1c00afaef6998f8a94c6fc" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::error </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>error level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9aa3f754131ad110e0080ae6d58c8bdc"></a><!-- doxytag: member="ost::AppLog::identLevel" ref="a9aa3f754131ad110e0080ae6d58c8bdc" args="(const char *ident, Slog::Level level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::identLevel </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>ident</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&nbsp;</td>
          <td class="paramname"> <em>level</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the level for that ident. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ident</em>&nbsp;</td><td>ident (module name for instance). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>level</em>&nbsp;</td><td>level </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac014c749d07e07765fb42a947acee104"></a><!-- doxytag: member="ost::AppLog::info" ref="ac014c749d07e07765fb42a947acee104" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::info </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>info level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00130">ost::Slog::levelInfo</a>.</p>

</div>
</div>
<a class="anchor" id="a0764ecd8a8fe77bb1bd0dddd6a35c5ad"></a><!-- doxytag: member="ost::AppLog::info" ref="a0764ecd8a8fe77bb1bd0dddd6a35c5ad" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::info </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>info level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae04e9c2b10440dea73e4b5dfacab516f"></a><!-- doxytag: member="ost::AppLog::level" ref="ae04e9c2b10440dea73e4b5dfacab516f" args="(Slog::Level enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::level </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&nbsp;</td>
          <td class="paramname"> <em>enable</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the log level. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>log level. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3373feee3364f5055a254a5631f0ba06"></a><!-- doxytag: member="ost::AppLog::levelTranslate" ref="a3373feee3364f5055a254a5631f0ba06" args="(string name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a> ost::AppLog::levelTranslate </td>
          <td>(</td>
          <td class="paramtype">string&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translates level from string to <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>, useful for configuration files for instance. </p>
<p>Valid level names are: "emerg" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa1acd6522fbb9d8790867d5c51ea9b008">Slog::levelEmergency</a> "alert" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa4862c8c52a86210064d2d6360db6b18d">Slog::levelAlert</a> "critical" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aabe7a4f15d9ea484e01831a7dc3e71926">Slog::levelCritical</a> "error" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aaf82cf7bb589d776186fbd0ab7b345f6e">Slog::levelError</a> "warn" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa568c02bbd98a58f508a83334c65ffcea">Slog::levelWarning</a> "notice" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aada39f730e92fdec6cad3616fa3567c95">Slog::levelNotice</a> "info" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa4a5387e1f48ef86841a807f6687d3d9c">Slog::levelInfo</a> "debug" for <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7aa7d9ce368944e6852d05730c269432b3a">Slog::levelDebug</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td><a class="el" href="classost_1_1_slog.html" title="The slog class is used to stream messages to the system&#39;s logging facility (syslogd)...">Slog</a> Level name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classost_1_1_slog.html" title="The slog class is used to stream messages to the system&#39;s logging facility (syslogd)...">Slog</a> level value </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00124">ost::Slog::levelEmergency</a>.</p>

</div>
</div>
<a class="anchor" id="ae9d2a4d88012848153362ca772a8b134"></a><!-- doxytag: member="ost::AppLog::logFileName" ref="ae9d2a4d88012848153362ca772a8b134" args="(const char *FileName, bool logDirectly=false, bool usePipe=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::logFileName </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>FileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>logDirectly</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>usePipe</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allows to set up <a class="el" href="namespaceost.html#ac345333eb0936b0bf9bef5e72cef1440" title="alog global log stream definition">ost::alog</a> parameters. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>FileName</em>&nbsp;</td><td>log file name. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>logDirectly</em>&nbsp;</td><td>true to write directly to file, false to use a spooler like logger. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>usePipe</em>&nbsp;</td><td>true to use pipe instead of file, false otherwise </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab9cc7122fa0d1f6b4e13abb99779f715"></a><!-- doxytag: member="ost::AppLog::notice" ref="ab9cc7122fa0d1f6b4e13abb99779f715" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::notice </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>notice level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00129">ost::Slog::levelNotice</a>.</p>

</div>
</div>
<a class="anchor" id="a2be051b9ff7f732fe00c355585201a72"></a><!-- doxytag: member="ost::AppLog::notice" ref="a2be051b9ff7f732fe00c355585201a72" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::notice </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>notice level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abf016f8dd905014b78e55904884bddc1"></a><!-- doxytag: member="ost::AppLog::open" ref="abf016f8dd905014b78e55904884bddc1" args="(const char *ident)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::open </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>ident</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens the file if not already and sets ident. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ident</em>&nbsp;</td><td>module name for instance. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8d4027c2fa3e7f9c2531097428d16d52"></a><!-- doxytag: member="ost::AppLog::operator()" ref="a8d4027c2fa3e7f9c2531097428d16d52" args="(Slog::Level level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&nbsp;</td>
          <td class="paramname"> <em>level</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>operator to change logging level </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>level</em>&nbsp;</td><td>new log level </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

</div>
</div>
<a class="anchor" id="a673f799d6c818a46dac948e08dbefeb1"></a><!-- doxytag: member="ost::AppLog::operator()" ref="a673f799d6c818a46dac948e08dbefeb1" args="(Ident &amp;ident)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_app_log_1_1_ident.html">Ident</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ident</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>operator to change ident </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ident</em>&nbsp;</td><td>ident (module name for instance) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="applog_8h_source.html#l00227">ost::AppLog::Ident::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a2532028c7fc69e6cb0d1fcab23f7c4da"></a><!-- doxytag: member="ost::AppLog::operator()" ref="a2532028c7fc69e6cb0d1fcab23f7c4da" args="(const char *ident, Slog::Level level=Slog::levelError)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator() </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>ident</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&nbsp;</td>
          <td class="paramname"> <em>level</em> = <code>Slog::levelError</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>operator to change ident and log level </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ident</em>&nbsp;</td><td>ident (module name for instance) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>level</em>&nbsp;</td><td>new log level </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

</div>
</div>
<a class="anchor" id="a5c9718f106182a1ec8b659c47c71a784"></a><!-- doxytag: member="ost::AppLog::operator&lt;&lt;" ref="a5c9718f106182a1ec8b659c47c71a784" args="(Ident &amp;ident)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_app_log_1_1_ident.html">Ident</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ident</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>operator &lt;&lt; </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ident</em>&nbsp;</td><td>module name for instance. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="applog_8h_source.html#l00227">ost::AppLog::Ident::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a432afeaf9443ac68abd783e48c8b2a28"></a><!-- doxytag: member="ost::AppLog::operator&lt;&lt;" ref="a432afeaf9443ac68abd783e48c8b2a28" args="(ostream &amp;(*pfManipulator)(ostream &amp;))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;(*)(ostream &amp;)&nbsp;</td>
          <td class="paramname"> <em>pfManipulator</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>manipulator operator, to use ostream manipulators (i.e. </p>
<p>std::endl,...) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>(*</em>&nbsp;</td><td>pfManipulator)(<a class="el" href="classost_1_1_app_log.html" title="Application logger is a class that implements a logger that can be used by applications...">AppLog</a> &amp;) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

</div>
</div>
<a class="anchor" id="a5065e3bba6b28b1019fd5511bab1d1c7"></a><!-- doxytag: member="ost::AppLog::operator&lt;&lt;" ref="a5065e3bba6b28b1019fd5511bab1d1c7" args="(AppLog &amp;(*pfManipulator)(AppLog &amp;))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;(*)(<a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;)&nbsp;</td>
          <td class="paramname"> <em>pfManipulator</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>manipulator operator, to change print levels. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>(*</em>&nbsp;</td><td>pfManipulator)(<a class="el" href="classost_1_1_app_log.html" title="Application logger is a class that implements a logger that can be used by applications...">AppLog</a> &amp;) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

</div>
</div>
<a class="anchor" id="ab53bb870e5f1fc9d408369bd0d526a2b"></a><!-- doxytag: member="ost::AppLog::overflow" ref="ab53bb870e5f1fc9d408369bd0d526a2b" args="(int c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::AppLog::overflow </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>stream <a class="el" href="classost_1_1_app_log.html#ab53bb870e5f1fc9d408369bd0d526a2b" title="stream overflow() overload.">overflow()</a> overload. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>character to be managed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>c </dd></dl>

</div>
</div>
<a class="anchor" id="a1246d82a3ade23ff4103dd8f8730b65d"></a><!-- doxytag: member="ost::AppLog::slogEnable" ref="a1246d82a3ade23ff4103dd8f8730b65d" args="(bool en=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::slogEnable </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>en</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables slog output for error level messages. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>en</em>&nbsp;</td><td>true to enable slog output. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3c76a1985f5914eb4865ae61d91679e4"></a><!-- doxytag: member="ost::AppLog::subscribe" ref="a3c76a1985f5914eb4865ae61d91679e4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::subscribe </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscribes the current thread to logger, it reserves thread safe buffer for it. </p>

</div>
</div>
<a class="anchor" id="a756c7e5709a35a2f1ab33343a5607665"></a><!-- doxytag: member="ost::AppLog::sync" ref="a756c7e5709a35a2f1ab33343a5607665" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::AppLog::sync </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>stream <a class="el" href="classost_1_1_app_log.html#a756c7e5709a35a2f1ab33343a5607665" title="stream sync() overload">sync()</a> overload </p>

</div>
</div>
<a class="anchor" id="aeb5299f9ca8c804a3d35814512a2cc54"></a><!-- doxytag: member="ost::AppLog::unsubscribe" ref="aeb5299f9ca8c804a3d35814512a2cc54" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::unsubscribe </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unsubscribes the current thread from logger. </p>

</div>
</div>
<a class="anchor" id="accb6db72e959657f69c0d77c748f8b59"></a><!-- doxytag: member="ost::AppLog::warn" ref="accb6db72e959657f69c0d77c748f8b59" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_app_log.html">AppLog</a>&amp; ost::AppLog::warn </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>warn level </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>application logger stream </dd></dl>

<p>References <a class="el" href="slog_8h_source.html#l00128">ost::Slog::levelWarning</a>.</p>

</div>
</div>
<a class="anchor" id="af7c977ae8f56f1465631b7a336dede92"></a><!-- doxytag: member="ost::AppLog::warn" ref="af7c977ae8f56f1465631b7a336dede92" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::warn </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>warn level printf style method, provided for convenience. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>printf format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a79d510ca42b9548f9f890b78482da853"></a><!-- doxytag: member="ost::AppLog::writeLog" ref="a79d510ca42b9548f9f890b78482da853" args="(bool endOfLine=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::AppLog::writeLog </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>endOfLine</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a384f03d87c24cce6657ca9b2628ffabc"></a><!-- doxytag: member="ost::AppLog::operator&lt;&lt;" ref="a384f03d87c24cce6657ca9b2628ffabc" args="(ostream &amp;out, AppLog &amp;al)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_app_log.html">AppLog</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>al</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a6856a1e8dda262714294257163156196"></a><!-- doxytag: member="ost::AppLog::assoc" ref="a6856a1e8dda262714294257163156196" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">map&lt;string, <a class="el" href="classost_1_1_slog.html#a47ef36225607dba90b4be5012daccd7a">Slog::Level</a>&gt;* <a class="el" href="classost_1_1_app_log.html#a6856a1e8dda262714294257163156196">ost::AppLog::assoc</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="addfc3b19ad63afdec4c97de6761ddc81"></a><!-- doxytag: member="ost::AppLog::d" ref="addfc3b19ad63afdec4c97de6761ddc81" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AppLogPrivate* <a class="el" href="classost_1_1_app_log.html#addfc3b19ad63afdec4c97de6761ddc81">ost::AppLog::d</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="applog_8h_source.html">applog.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Nov 12 09:55:46 2010 for GNU CommonC++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>