<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>log4cpp: log4cpp::StringQueueAppender 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.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacelog4cpp.html">log4cpp</a>::<a class="el" href="classlog4cpp_1_1StringQueueAppender.html">StringQueueAppender</a> </div> </div> <div class="contents"> <h1>log4cpp::StringQueueAppender Class Reference</h1><!-- doxytag: class="log4cpp::StringQueueAppender" --><!-- doxytag: inherits="log4cpp::LayoutAppender" -->This class puts log messages in an in-memory queue. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="StringQueueAppender_8hh_source.html">StringQueueAppender.hh</a>></code> <p> <div class="dynheader"> Inheritance diagram for log4cpp::StringQueueAppender:</div> <div class="dynsection"> <p><center><img src="classlog4cpp_1_1StringQueueAppender.png" usemap="#log4cpp::StringQueueAppender_map" border="0" alt=""></center> <map name="log4cpp::StringQueueAppender_map"> <area href="classlog4cpp_1_1LayoutAppender.html" alt="log4cpp::LayoutAppender" shape="rect" coords="0,112,190,136"> <area href="classlog4cpp_1_1AppenderSkeleton.html" alt="log4cpp::AppenderSkeleton" shape="rect" coords="0,56,190,80"> <area href="classlog4cpp_1_1Appender.html" alt="log4cpp::Appender" shape="rect" coords="0,0,190,24"> </map> </div> <p> <a href="classlog4cpp_1_1StringQueueAppender-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#10d1f4d098dbdb70bbf28cd4343932c1">StringQueueAppender</a> (const std::string &name)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#a1b2f415c53cc764f5969d973217e0cf">~StringQueueAppender</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#e666ab5d75d3a7feb80e281ce6a4844b">reopen</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reopens the output destination of this <a class="el" href="classlog4cpp_1_1Appender.html" title="Implement this interface for your own strategies for printing log statements.">Appender</a>, e.g. <a href="#e666ab5d75d3a7feb80e281ce6a4844b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#5a00a484e9476692f3e1378e3630c3ab">close</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Release any resources allocated within the appender such as file handles, network connections, etc. <a href="#5a00a484e9476692f3e1378e3630c3ab"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#29306ff6b4bbe8da85aec70982dbf4c7">queueSize</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the current size of the message queue. <a href="#29306ff6b4bbe8da85aec70982dbf4c7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::queue< std::string > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#89469d8106130c9d9fb7fcb4cf3668e3">getQueue</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the queue to which the Appends adds messages. <a href="#89469d8106130c9d9fb7fcb4cf3668e3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const std::queue<br class="typebreak"> < std::string > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#ff4923ba7638104195de4db5e60c9b9e">getQueue</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the queue to which the Appends adds messages. <a href="#ff4923ba7638104195de4db5e60c9b9e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#35b65c5ec85375175aedcd5efc295093">popMessage</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pop the oldest log message from the front of the queue. <a href="#35b65c5ec85375175aedcd5efc295093"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#26091b72e69ac6257e47aea0d91d7ea9">_append</a> (const <a class="el" href="structlog4cpp_1_1LoggingEvent.html">LoggingEvent</a> &event)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appends the <a class="el" href="structlog4cpp_1_1LoggingEvent.html" title="The internal representation of logging events.">LoggingEvent</a> to the queue. <a href="#26091b72e69ac6257e47aea0d91d7ea9"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">std::queue< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cpp_1_1StringQueueAppender.html#b0f9292e908d1b748e4c6dc3f1765ca2">_queue</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class puts log messages in an in-memory queue. <p> Its primary use is in test cases, but it may be useful elsewhere as well.<p> <dl class="since" compact><dt><b>Since:</b></dt><dd>0.2.4 </dd></dl> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="10d1f4d098dbdb70bbf28cd4343932c1"></a><!-- doxytag: member="log4cpp::StringQueueAppender::StringQueueAppender" ref="10d1f4d098dbdb70bbf28cd4343932c1" args="(const std::string &name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">log4cpp::StringQueueAppender::StringQueueAppender </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a1b2f415c53cc764f5969d973217e0cf"></a><!-- doxytag: member="log4cpp::StringQueueAppender::~StringQueueAppender" ref="a1b2f415c53cc764f5969d973217e0cf" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">log4cpp::StringQueueAppender::~StringQueueAppender </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="26091b72e69ac6257e47aea0d91d7ea9"></a><!-- doxytag: member="log4cpp::StringQueueAppender::_append" ref="26091b72e69ac6257e47aea0d91d7ea9" args="(const LoggingEvent &event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void log4cpp::StringQueueAppender::_append </td> <td>(</td> <td class="paramtype">const <a class="el" href="structlog4cpp_1_1LoggingEvent.html">LoggingEvent</a> & </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Appends the <a class="el" href="structlog4cpp_1_1LoggingEvent.html" title="The internal representation of logging events.">LoggingEvent</a> to the queue. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>the <a class="el" href="structlog4cpp_1_1LoggingEvent.html" title="The internal representation of logging events.">LoggingEvent</a> to layout and append to the queue. </td></tr> </table> </dl> <p>Implements <a class="el" href="classlog4cpp_1_1AppenderSkeleton.html#643fb2614192ea09b502a3feb27abe66">log4cpp::AppenderSkeleton</a>.</p> </div> </div><p> <a class="anchor" name="5a00a484e9476692f3e1378e3630c3ab"></a><!-- doxytag: member="log4cpp::StringQueueAppender::close" ref="5a00a484e9476692f3e1378e3630c3ab" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void log4cpp::StringQueueAppender::close </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Release any resources allocated within the appender such as file handles, network connections, etc. <p> <p>Implements <a class="el" href="classlog4cpp_1_1AppenderSkeleton.html#c62f94c6692fd146fcf37455d3e73439">log4cpp::AppenderSkeleton</a>.</p> </div> </div><p> <a class="anchor" name="ff4923ba7638104195de4db5e60c9b9e"></a><!-- doxytag: member="log4cpp::StringQueueAppender::getQueue" ref="ff4923ba7638104195de4db5e60c9b9e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::queue< std::string > & log4cpp::StringQueueAppender::getQueue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return the queue to which the Appends adds messages. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the message queue </dd></dl> </div> </div><p> <a class="anchor" name="89469d8106130c9d9fb7fcb4cf3668e3"></a><!-- doxytag: member="log4cpp::StringQueueAppender::getQueue" ref="89469d8106130c9d9fb7fcb4cf3668e3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::queue< std::string > & log4cpp::StringQueueAppender::getQueue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return the queue to which the Appends adds messages. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the message queue </dd></dl> </div> </div><p> <a class="anchor" name="35b65c5ec85375175aedcd5efc295093"></a><!-- doxytag: member="log4cpp::StringQueueAppender::popMessage" ref="35b65c5ec85375175aedcd5efc295093" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string log4cpp::StringQueueAppender::popMessage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Pop the oldest log message from the front of the queue. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the oldest log message </dd></dl> </div> </div><p> <a class="anchor" name="29306ff6b4bbe8da85aec70982dbf4c7"></a><!-- doxytag: member="log4cpp::StringQueueAppender::queueSize" ref="29306ff6b4bbe8da85aec70982dbf4c7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t log4cpp::StringQueueAppender::queueSize </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return the current size of the message queue. <p> Shorthand for <a class="el" href="classlog4cpp_1_1StringQueueAppender.html#89469d8106130c9d9fb7fcb4cf3668e3" title="Return the queue to which the Appends adds messages.">getQueue()</a>.size(). <dl class="return" compact><dt><b>Returns:</b></dt><dd>the queue size </dd></dl> </div> </div><p> <a class="anchor" name="e666ab5d75d3a7feb80e281ce6a4844b"></a><!-- doxytag: member="log4cpp::StringQueueAppender::reopen" ref="e666ab5d75d3a7feb80e281ce6a4844b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool log4cpp::StringQueueAppender::reopen </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Reopens the output destination of this <a class="el" href="classlog4cpp_1_1Appender.html" title="Implement this interface for your own strategies for printing log statements.">Appender</a>, e.g. <p> the logfile or TCP socket. <dl class="return" compact><dt><b>Returns:</b></dt><dd>false if an error occured during reopening, true otherwise. </dd></dl> <p>Reimplemented from <a class="el" href="classlog4cpp_1_1AppenderSkeleton.html#1f61281caac83409db298b681635e029">log4cpp::AppenderSkeleton</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="b0f9292e908d1b748e4c6dc3f1765ca2"></a><!-- doxytag: member="log4cpp::StringQueueAppender::_queue" ref="b0f9292e908d1b748e4c6dc3f1765ca2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::queue<std::string> <a class="el" href="classlog4cpp_1_1StringQueueAppender.html#b0f9292e908d1b748e4c6dc3f1765ca2">log4cpp::StringQueueAppender::_queue</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="StringQueueAppender_8hh_source.html">StringQueueAppender.hh</a><li><a class="el" href="StringQueueAppender_8cpp.html">StringQueueAppender.cpp</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 26 19:34:33 2009 for log4cpp by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>