| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.8.11"/> |
| <title>Apache log4cxx: NDC Class Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="navtreedata.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(initResizable); |
| $(window).load(resizeHeight); |
| </script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(function() { init_search(); }); |
| </script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname"><a href="http://logging.apache.org/log4cxx">Apache log4cxx</a> |
|  <span id="projectnumber">Version 0.10.0</span> |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.11 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <div id="navrow1" class="tabs"> |
| <ul class="tablist"> |
| <li><a href="index.html"><span>Main Page</span></a></li> |
| <li><a href="modules.html"><span>Modules</span></a></li> |
| <li><a href="namespaces.html"><span>Namespaces</span></a></li> |
| <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
| <li><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="annotated.html"><span>Class List</span></a></li> |
| <li><a href="classes.html"><span>Class Index</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><!-- top --> |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| <div id="nav-tree"> |
| <div id="nav-tree-contents"> |
| <div id="nav-sync" class="sync"></div> |
| </div> |
| </div> |
| <div id="splitbar" style="-moz-user-select:none;" |
| class="ui-resizable-handle"> |
| </div> |
| </div> |
| <script type="text/javascript"> |
| $(document).ready(function(){initNavTree('classlog4cxx_1_1_n_d_c.html','');}); |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-types">Public Types</a> | |
| <a href="#pub-methods">Public Member Functions</a> | |
| <a href="#pub-static-methods">Static Public Member Functions</a> | |
| <a href="classlog4cxx_1_1_n_d_c-members.html">List of all members</a> </div> |
| <div class="headertitle"> |
| <div class="title">NDC Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>the ndc class implements <em>nested diagnostic contexts</em> as defined by neil harrison in the article "patterns for logging |
| diagnostic messages" part of the book "<i>pattern languages of |
| program design 3</i>" edited by martin et al. |
| <a href="classlog4cxx_1_1_n_d_c.html#details">More...</a></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> |
| Public Types</h2></td></tr> |
| <tr class="memitem:a06fd35d312837c220d1781b630646621"><td class="memItemLeft" align="right" valign="top">typedef std::pair< <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>, <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a06fd35d312837c220d1781b630646621">DiagnosticContext</a></td></tr> |
| <tr class="memdesc:a06fd35d312837c220d1781b630646621"><td class="mdescLeft"> </td><td class="mdescRight">Pair of Message and FullMessage. <a href="#a06fd35d312837c220d1781b630646621">More...</a><br /></td></tr> |
| <tr class="separator:a06fd35d312837c220d1781b630646621"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad27ab948303a389e8150ec1d837f1736"><td class="memItemLeft" align="right" valign="top">typedef std::stack< <a class="el" href="classlog4cxx_1_1_n_d_c.html#a06fd35d312837c220d1781b630646621">DiagnosticContext</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a></td></tr> |
| <tr class="separator:ad27ab948303a389e8150ec1d837f1736"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:a8ec640ca3549a71be17f9fff55d4b6b8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a8ec640ca3549a71be17f9fff55d4b6b8">NDC</a> (const std::string &message)</td></tr> |
| <tr class="memdesc:a8ec640ca3549a71be17f9fff55d4b6b8"><td class="mdescLeft"> </td><td class="mdescRight">Creates a nested diagnostic context. <a href="#a8ec640ca3549a71be17f9fff55d4b6b8">More...</a><br /></td></tr> |
| <tr class="separator:a8ec640ca3549a71be17f9fff55d4b6b8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7be25f4d39f960d05de41a18af9dabf1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a7be25f4d39f960d05de41a18af9dabf1">~NDC</a> ()</td></tr> |
| <tr class="memdesc:a7be25f4d39f960d05de41a18af9dabf1"><td class="mdescLeft"> </td><td class="mdescRight">Removes the topmost element from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> stack. <a href="#a7be25f4d39f960d05de41a18af9dabf1">More...</a><br /></td></tr> |
| <tr class="separator:a7be25f4d39f960d05de41a18af9dabf1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8eac1aac9c4cc771421d583b886d2cb3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a8eac1aac9c4cc771421d583b886d2cb3">NDC</a> (const std::wstring &message)</td></tr> |
| <tr class="memdesc:a8eac1aac9c4cc771421d583b886d2cb3"><td class="mdescLeft"> </td><td class="mdescRight">Creates a nested diagnostic context. <a href="#a8eac1aac9c4cc771421d583b886d2cb3">More...</a><br /></td></tr> |
| <tr class="separator:a8eac1aac9c4cc771421d583b886d2cb3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8a2cd4b0aa44ad594cfcb387751f197a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a8a2cd4b0aa44ad594cfcb387751f197a">NDC</a> (const std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > &message)</td></tr> |
| <tr class="memdesc:a8a2cd4b0aa44ad594cfcb387751f197a"><td class="mdescLeft"> </td><td class="mdescRight">Creates a nested diagnostic context. <a href="#a8a2cd4b0aa44ad594cfcb387751f197a">More...</a><br /></td></tr> |
| <tr class="separator:a8a2cd4b0aa44ad594cfcb387751f197a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4c14d449acdaeb48752b95840b3a7391"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a4c14d449acdaeb48752b95840b3a7391">NDC</a> (const <a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> &message)</td></tr> |
| <tr class="memdesc:a4c14d449acdaeb48752b95840b3a7391"><td class="mdescLeft"> </td><td class="mdescRight">Creates a nested diagnostic context. <a href="#a4c14d449acdaeb48752b95840b3a7391">More...</a><br /></td></tr> |
| <tr class="separator:a4c14d449acdaeb48752b95840b3a7391"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:a14dabca7589b28dc6adca2c5367546e1"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a14dabca7589b28dc6adca2c5367546e1">clear</a> ()</td></tr> |
| <tr class="memdesc:a14dabca7589b28dc6adca2c5367546e1"><td class="mdescLeft"> </td><td class="mdescRight">Clear any nested diagnostic information if any. <a href="#a14dabca7589b28dc6adca2c5367546e1">More...</a><br /></td></tr> |
| <tr class="separator:a14dabca7589b28dc6adca2c5367546e1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a08f7cc8fa9fa9746b69f0bef73e07044"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a08f7cc8fa9fa9746b69f0bef73e07044">cloneStack</a> ()</td></tr> |
| <tr class="memdesc:a08f7cc8fa9fa9746b69f0bef73e07044"><td class="mdescLeft"> </td><td class="mdescRight">Clone the diagnostic context for the current thread. <a href="#a08f7cc8fa9fa9746b69f0bef73e07044">More...</a><br /></td></tr> |
| <tr class="separator:a08f7cc8fa9fa9746b69f0bef73e07044"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a078b713ccf74bf2628b2230fbe597d41"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a078b713ccf74bf2628b2230fbe597d41">inherit</a> (<a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a> *stack)</td></tr> |
| <tr class="memdesc:a078b713ccf74bf2628b2230fbe597d41"><td class="mdescLeft"> </td><td class="mdescRight">Inherit the diagnostic context of another thread. <a href="#a078b713ccf74bf2628b2230fbe597d41">More...</a><br /></td></tr> |
| <tr class="separator:a078b713ccf74bf2628b2230fbe597d41"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aec930584769a8379ff4ee6ecd2448508"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#aec930584769a8379ff4ee6ecd2448508">get</a> (<a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &dest)</td></tr> |
| <tr class="memdesc:aec930584769a8379ff4ee6ecd2448508"><td class="mdescLeft"> </td><td class="mdescRight">Get the current value of the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> of the currrent thread. <a href="#aec930584769a8379ff4ee6ecd2448508">More...</a><br /></td></tr> |
| <tr class="separator:aec930584769a8379ff4ee6ecd2448508"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab275726b46a696f8b20c4a23113230d9"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#ab275726b46a696f8b20c4a23113230d9">getDepth</a> ()</td></tr> |
| <tr class="memdesc:ab275726b46a696f8b20c4a23113230d9"><td class="mdescLeft"> </td><td class="mdescRight">Get the current nesting depth of this diagnostic context. <a href="#ab275726b46a696f8b20c4a23113230d9">More...</a><br /></td></tr> |
| <tr class="separator:ab275726b46a696f8b20c4a23113230d9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:acb0b14918df8211fb25cb23bd0384d51"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#acb0b14918df8211fb25cb23bd0384d51">empty</a> ()</td></tr> |
| <tr class="memdesc:acb0b14918df8211fb25cb23bd0384d51"><td class="mdescLeft"> </td><td class="mdescRight">Tests if the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> is empty. <a href="#acb0b14918df8211fb25cb23bd0384d51">More...</a><br /></td></tr> |
| <tr class="separator:acb0b14918df8211fb25cb23bd0384d51"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a300d98eecc81234f5ed86cfb3b41b548"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548">pop</a> ()</td></tr> |
| <tr class="memdesc:a300d98eecc81234f5ed86cfb3b41b548"><td class="mdescLeft"> </td><td class="mdescRight">Pop top value off stack. <a href="#a300d98eecc81234f5ed86cfb3b41b548">More...</a><br /></td></tr> |
| <tr class="separator:a300d98eecc81234f5ed86cfb3b41b548"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3d0d9f6e0412585ec1e9b372f9bac6b0"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a3d0d9f6e0412585ec1e9b372f9bac6b0">pop</a> (std::string &buf)</td></tr> |
| <tr class="memdesc:a3d0d9f6e0412585ec1e9b372f9bac6b0"><td class="mdescLeft"> </td><td class="mdescRight">Pop top value off stack. <a href="#a3d0d9f6e0412585ec1e9b372f9bac6b0">More...</a><br /></td></tr> |
| <tr class="separator:a3d0d9f6e0412585ec1e9b372f9bac6b0"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a79fee8d99de96898fbe985d692b5cfe1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a79fee8d99de96898fbe985d692b5cfe1">peek</a> ()</td></tr> |
| <tr class="memdesc:a79fee8d99de96898fbe985d692b5cfe1"><td class="mdescLeft"> </td><td class="mdescRight">Looks at the last diagnostic context at the top of this <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> without removing it. <a href="#a79fee8d99de96898fbe985d692b5cfe1">More...</a><br /></td></tr> |
| <tr class="separator:a79fee8d99de96898fbe985d692b5cfe1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aca6fa7a1575b839b4f8ac9a60ec6c2d1"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#aca6fa7a1575b839b4f8ac9a60ec6c2d1">peek</a> (std::string &buf)</td></tr> |
| <tr class="memdesc:aca6fa7a1575b839b4f8ac9a60ec6c2d1"><td class="mdescLeft"> </td><td class="mdescRight">Get top value without removing value. <a href="#aca6fa7a1575b839b4f8ac9a60ec6c2d1">More...</a><br /></td></tr> |
| <tr class="separator:aca6fa7a1575b839b4f8ac9a60ec6c2d1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a670a4077b7624737946c2a15817dfcee"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee">push</a> (const std::string &message)</td></tr> |
| <tr class="memdesc:a670a4077b7624737946c2a15817dfcee"><td class="mdescLeft"> </td><td class="mdescRight">Push new diagnostic context information for the current thread. <a href="#a670a4077b7624737946c2a15817dfcee">More...</a><br /></td></tr> |
| <tr class="separator:a670a4077b7624737946c2a15817dfcee"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adb03ca6083676de6be2adf9346f12a89"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#adb03ca6083676de6be2adf9346f12a89">pushLS</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &message)</td></tr> |
| <tr class="memdesc:adb03ca6083676de6be2adf9346f12a89"><td class="mdescLeft"> </td><td class="mdescRight">Push new diagnostic context information for the current thread. <a href="#adb03ca6083676de6be2adf9346f12a89">More...</a><br /></td></tr> |
| <tr class="separator:adb03ca6083676de6be2adf9346f12a89"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af54fd13c5dd6e2cd20190d8ce7b3125d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#af54fd13c5dd6e2cd20190d8ce7b3125d">remove</a> ()</td></tr> |
| <tr class="memdesc:af54fd13c5dd6e2cd20190d8ce7b3125d"><td class="mdescLeft"> </td><td class="mdescRight">Remove the diagnostic context for this thread. <a href="#af54fd13c5dd6e2cd20190d8ce7b3125d">More...</a><br /></td></tr> |
| <tr class="separator:af54fd13c5dd6e2cd20190d8ce7b3125d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:accac902acd908c0dff6601c7a861785e"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#accac902acd908c0dff6601c7a861785e">push</a> (const std::wstring &message)</td></tr> |
| <tr class="memdesc:accac902acd908c0dff6601c7a861785e"><td class="mdescLeft"> </td><td class="mdescRight">Push new diagnostic context information for the current thread. <a href="#accac902acd908c0dff6601c7a861785e">More...</a><br /></td></tr> |
| <tr class="separator:accac902acd908c0dff6601c7a861785e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa7420cde96c577e4c6a08354c7725ebd"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#aa7420cde96c577e4c6a08354c7725ebd">peek</a> (std::wstring &dst)</td></tr> |
| <tr class="memdesc:aa7420cde96c577e4c6a08354c7725ebd"><td class="mdescLeft"> </td><td class="mdescRight">Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string. <a href="#aa7420cde96c577e4c6a08354c7725ebd">More...</a><br /></td></tr> |
| <tr class="separator:aa7420cde96c577e4c6a08354c7725ebd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2667d6cbcbc31976468db35bf2e24778"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a2667d6cbcbc31976468db35bf2e24778">pop</a> (std::wstring &dst)</td></tr> |
| <tr class="memdesc:a2667d6cbcbc31976468db35bf2e24778"><td class="mdescLeft"> </td><td class="mdescRight">Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string and removes the value from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. <a href="#a2667d6cbcbc31976468db35bf2e24778">More...</a><br /></td></tr> |
| <tr class="separator:a2667d6cbcbc31976468db35bf2e24778"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a67f283cbdbf951781c6f24f93b000fa1"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a67f283cbdbf951781c6f24f93b000fa1">push</a> (const std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > &message)</td></tr> |
| <tr class="memdesc:a67f283cbdbf951781c6f24f93b000fa1"><td class="mdescLeft"> </td><td class="mdescRight">Push new diagnostic context information for the current thread. <a href="#a67f283cbdbf951781c6f24f93b000fa1">More...</a><br /></td></tr> |
| <tr class="separator:a67f283cbdbf951781c6f24f93b000fa1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a64259a85df3a8f1e3b00d5c71bc808ff"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a64259a85df3a8f1e3b00d5c71bc808ff">peek</a> (std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > &dst)</td></tr> |
| <tr class="memdesc:a64259a85df3a8f1e3b00d5c71bc808ff"><td class="mdescLeft"> </td><td class="mdescRight">Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string. <a href="#a64259a85df3a8f1e3b00d5c71bc808ff">More...</a><br /></td></tr> |
| <tr class="separator:a64259a85df3a8f1e3b00d5c71bc808ff"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac71838e8767dd3c956b3f4774d945d5f"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#ac71838e8767dd3c956b3f4774d945d5f">pop</a> (std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > &dst)</td></tr> |
| <tr class="memdesc:ac71838e8767dd3c956b3f4774d945d5f"><td class="mdescLeft"> </td><td class="mdescRight">Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string and removes the value from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. <a href="#ac71838e8767dd3c956b3f4774d945d5f">More...</a><br /></td></tr> |
| <tr class="separator:ac71838e8767dd3c956b3f4774d945d5f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae579f7b51f97fab7dfa2d3217b1ceaab"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#ae579f7b51f97fab7dfa2d3217b1ceaab">push</a> (const <a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> &message)</td></tr> |
| <tr class="memdesc:ae579f7b51f97fab7dfa2d3217b1ceaab"><td class="mdescLeft"> </td><td class="mdescRight">Push new diagnostic context information for the current thread. <a href="#ae579f7b51f97fab7dfa2d3217b1ceaab">More...</a><br /></td></tr> |
| <tr class="separator:ae579f7b51f97fab7dfa2d3217b1ceaab"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8ac8c2a3e5c8577704e6b76ac4ddbda4"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a8ac8c2a3e5c8577704e6b76ac4ddbda4">peek</a> (<a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> &dst)</td></tr> |
| <tr class="memdesc:a8ac8c2a3e5c8577704e6b76ac4ddbda4"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value. <a href="#a8ac8c2a3e5c8577704e6b76ac4ddbda4">More...</a><br /></td></tr> |
| <tr class="separator:a8ac8c2a3e5c8577704e6b76ac4ddbda4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a304eb43e2e4b5dd0a1024b8d06cc5121"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_n_d_c.html#a304eb43e2e4b5dd0a1024b8d06cc5121">pop</a> (<a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> &dst)</td></tr> |
| <tr class="memdesc:a304eb43e2e4b5dd0a1024b8d06cc5121"><td class="mdescLeft"> </td><td class="mdescRight">Gets and removes the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value. <a href="#a304eb43e2e4b5dd0a1024b8d06cc5121">More...</a><br /></td></tr> |
| <tr class="separator:a304eb43e2e4b5dd0a1024b8d06cc5121"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>the ndc class implements <em>nested diagnostic contexts</em> as defined by neil harrison in the article "patterns for logging |
| diagnostic messages" part of the book "<i>pattern languages of |
| program design 3</i>" edited by martin et al. </p> |
| <p>a nested diagnostic context, or ndc in short, is an instrument to distinguish interleaved log output from different sources. log output is typically interleaved when a server handles multiple clients near-simultaneously.</p> |
| <p>interleaved log output can still be meaningful if each log entry from different contexts had a distinctive stamp. this is where ndcs come into play.</p> |
| <p><em><b>note that ndcs are managed on a per thread basis</b></em>. ndc operations such as <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a>, <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop</a>, <a class="el" href="classlog4cxx_1_1_n_d_c.html#a14dabca7589b28dc6adca2c5367546e1" title="Clear any nested diagnostic information if any. ">clear</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#ab275726b46a696f8b20c4a23113230d9" title="Get the current nesting depth of this diagnostic context. ">getDepth</a> affect the ndc of the <em>current</em> thread only. ndcs of other threads remain unaffected.</p> |
| <p>for example, a servlet can build a per client request ndc consisting the clients host name and other information contained in the the request. <em>cookies</em> are another source of distinctive information. to build an ndc one uses the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> operation. simply put,</p> |
| <ul> |
| <li> |
| <p class="startli">contexts can be nested.</p> |
| <p></p> |
| <p class="endli"></p> |
| </li> |
| <li> |
| <p class="startli">when entering a context, call <code>ndc.push</code>. as a side effect, if there is no nested diagnostic context for the current thread, this method will create it.</p> |
| <p></p> |
| <p class="endli"></p> |
| </li> |
| <li> |
| <p class="startli">when leaving a context, call <code>ndc.pop</code>.</p> |
| <p></p> |
| <p class="endli"></p> |
| </li> |
| <li> |
| <b>when exiting a thread make sure to call <a class="el" href="classlog4cxx_1_1_n_d_c.html#af54fd13c5dd6e2cd20190d8ce7b3125d" title="Remove the diagnostic context for this thread. ">remove</a> </b>. </li> |
| </ul> |
| <p>there is no penalty for forgetting to match each <code>push</code> operation with a corresponding <code>pop</code>, except the obvious mismatch between the real application context and the context set in the ndc.</p> |
| <p>if configured to do so, <a class="el" href="classlog4cxx_1_1_pattern_layout.html" title="A flexible layout configurable with pattern string. ">PatternLayout</a> and <a class="el" href="classlog4cxx_1_1_t_t_c_c_layout.html" title="TTCC layout format consists of time, thread, logger name and nested diagnostic context information...">TTCCLayout</a> instances automatically retrieve the nested diagnostic context for the current thread without any user intervention. hence, even if a servlet is serving multiple clients simultaneously, the logs emanating from the same code (belonging to the same logger) can still be distinguished because each client request will have a different ndc tag.</p> |
| <p>heavy duty systems should call the <a class="el" href="classlog4cxx_1_1_n_d_c.html#af54fd13c5dd6e2cd20190d8ce7b3125d" title="Remove the diagnostic context for this thread. ">remove</a> method when leaving the run method of a thread. this ensures that the memory used by the thread can be freed by the java garbage collector. there is a mechanism to lazily remove references to dead threads. in practice, this means that you can be a little sloppy and sometimes forget to call <a class="el" href="classlog4cxx_1_1_n_d_c.html#af54fd13c5dd6e2cd20190d8ce7b3125d" title="Remove the diagnostic context for this thread. ">remove</a> before exiting a thread. </p> |
| </div><h2 class="groupheader">Member Typedef Documentation</h2> |
| <a class="anchor" id="a06fd35d312837c220d1781b630646621"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef std::pair<<a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>, <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a>> <a class="el" href="classlog4cxx_1_1_n_d_c.html#a06fd35d312837c220d1781b630646621">DiagnosticContext</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Pair of Message and FullMessage. </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ad27ab948303a389e8150ec1d837f1736"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef std::stack<<a class="el" href="classlog4cxx_1_1_n_d_c.html#a06fd35d312837c220d1781b630646621">DiagnosticContext</a>> <a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="a8ec640ca3549a71be17f9fff55d4b6b8"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a> </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Creates a nested diagnostic context. </p> |
| <p>Since java performs no automatic cleanup of objects when a scope is left, in log4j <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> must be used to manage the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. For convenience, <a class="el" href="namespacelog4cxx.html">log4cxx</a> provides an <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> constructor and destructor which simply call the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> methods, allowing for automatic cleanup when the current scope ends.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section see"><dt>See also</dt><dd>The <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> method. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a7be25f4d39f960d05de41a18af9dabf1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">~<a class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a> </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Removes the topmost element from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> stack. </p> |
| <dl class="section see"><dt>See also</dt><dd>The <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop</a> method. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8eac1aac9c4cc771421d583b886d2cb3"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a> </td> |
| <td>(</td> |
| <td class="paramtype">const std::wstring & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Creates a nested diagnostic context. </p> |
| <p>Since java performs no automatic cleanup of objects when a scope is left, in log4j <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> must be used to manage the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. For convenience, <a class="el" href="namespacelog4cxx.html">log4cxx</a> provides an <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> constructor and destructor which simply call the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> methods, allowing for automatic cleanup when the current scope ends.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section see"><dt>See also</dt><dd>The <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> method. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8a2cd4b0aa44ad594cfcb387751f197a"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a> </td> |
| <td>(</td> |
| <td class="paramtype">const std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Creates a nested diagnostic context. </p> |
| <p>Since java performs no automatic cleanup of objects when a scope is left, in log4j <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> must be used to manage the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. For convenience, <a class="el" href="namespacelog4cxx.html">log4cxx</a> provides an <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> constructor and destructor which simply call the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> methods, allowing for automatic cleanup when the current scope ends.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section see"><dt>See also</dt><dd>The <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> method. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a4c14d449acdaeb48752b95840b3a7391"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classlog4cxx_1_1_n_d_c.html">NDC</a> </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Creates a nested diagnostic context. </p> |
| <p>Since java performs no automatic cleanup of objects when a scope is left, in log4j <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> must be used to manage the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. For convenience, <a class="el" href="namespacelog4cxx.html">log4cxx</a> provides an <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> constructor and destructor which simply call the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push()</a> and <a class="el" href="classlog4cxx_1_1_n_d_c.html#a300d98eecc81234f5ed86cfb3b41b548" title="Pop top value off stack. ">pop()</a> methods, allowing for automatic cleanup when the current scope ends.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section see"><dt>See also</dt><dd>The <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> method. </dd></dl> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Member Function Documentation</h2> |
| <a class="anchor" id="a14dabca7589b28dc6adca2c5367546e1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void clear </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Clear any nested diagnostic information if any. </p> |
| <p>This method is useful in cases where the same thread can be potentially used over and over in different unrelated contexts. </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a08f7cc8fa9fa9746b69f0bef73e07044"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static <a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a>* cloneStack </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Clone the diagnostic context for the current thread. </p> |
| <p>Internally a diagnostic context is represented as a stack. A given thread can supply the stack (i.e. diagnostic context) to a child thread so that the child can inherit the parent thread's diagnostic context. </p> |
| <p>The child thread uses the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a078b713ccf74bf2628b2230fbe597d41" title="Inherit the diagnostic context of another thread. ">inherit</a> method to inherit the parent's diagnostic context. </p> |
| <p>If not passed to <a class="el" href="classlog4cxx_1_1_n_d_c.html#a078b713ccf74bf2628b2230fbe597d41" title="Inherit the diagnostic context of another thread. ">inherit</a>, returned stack should be deleted by caller. </p><dl class="section return"><dt>Returns</dt><dd>Stack A clone of the current thread's diagnostic context, will not be null. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="acb0b14918df8211fb25cb23bd0384d51"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool empty </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Tests if the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> is empty. </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aec930584769a8379ff4ee6ecd2448508"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool get </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> & </td> |
| <td class="paramname"><em>dest</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Get the current value of the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> of the currrent thread. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dest</td><td>destination to which to append content of <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> is set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ab275726b46a696f8b20c4a23113230d9"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static int getDepth </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Get the current nesting depth of this diagnostic context. </p> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a078b713ccf74bf2628b2230fbe597d41"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void inherit </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classlog4cxx_1_1_n_d_c.html#ad27ab948303a389e8150ec1d837f1736">Stack</a> * </td> |
| <td class="paramname"><em>stack</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Inherit the diagnostic context of another thread. </p> |
| <p>The parent thread can obtain a reference to its diagnostic context using the <a class="el" href="classlog4cxx_1_1_n_d_c.html#a08f7cc8fa9fa9746b69f0bef73e07044" title="Clone the diagnostic context for the current thread. ">cloneStack</a> method. It should communicate this information to its child so that it may inherit the parent's diagnostic context. </p> |
| <p>The parent's diagnostic context is cloned before being inherited. In other words, once inherited, the two diagnostic contexts can be managed independently. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">stack</td><td>The diagnostic context of the parent thread, will be deleted during call. If NULL, <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> will not be modified. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a79fee8d99de96898fbe985d692b5cfe1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> peek </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Looks at the last diagnostic context at the top of this <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> without removing it. </p> |
| <p>The returned value is the value that was pushed last. If no context is available, then the empty string "" is returned. </p><dl class="section return"><dt>Returns</dt><dd>String The innermost diagnostic context. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aca6fa7a1575b839b4f8ac9a60ec6c2d1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool peek </td> |
| <td>(</td> |
| <td class="paramtype">std::string & </td> |
| <td class="paramname"><em>buf</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Get top value without removing value. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">buf</td><td>to which top value is appended. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> contained at least one value. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="aa7420cde96c577e4c6a08354c7725ebd"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool peek </td> |
| <td>(</td> |
| <td class="paramtype">std::wstring & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a64259a85df3a8f1e3b00d5c71bc808ff"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool peek </td> |
| <td>(</td> |
| <td class="paramtype">std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a8ac8c2a3e5c8577704e6b76ac4ddbda4"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool peek </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Gets the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a300d98eecc81234f5ed86cfb3b41b548"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> pop </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Pop top value off stack. </p> |
| <dl class="section return"><dt>Returns</dt><dd>top value. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a3d0d9f6e0412585ec1e9b372f9bac6b0"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool pop </td> |
| <td>(</td> |
| <td class="paramtype">std::string & </td> |
| <td class="paramname"><em>buf</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Pop top value off stack. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">buf</td><td>to which top value is appended. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> contained at least one value. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a2667d6cbcbc31976468db35bf2e24778"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool pop </td> |
| <td>(</td> |
| <td class="paramtype">std::wstring & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string and removes the value from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ac71838e8767dd3c956b3f4774d945d5f"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool pop </td> |
| <td>(</td> |
| <td class="paramtype">std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Appends the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> content to the provided string and removes the value from the <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a>. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a304eb43e2e4b5dd0a1024b8d06cc5121"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static bool pop </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> & </td> |
| <td class="paramname"><em>dst</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Gets and removes the current <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">dst</td><td>destination. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if <a class="el" href="classlog4cxx_1_1_n_d_c.html" title="the ndc class implements nested diagnostic contexts as defined by neil harrison in the article "patte...">NDC</a> value set. </dd></dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a670a4077b7624737946c2a15817dfcee"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void push </td> |
| <td>(</td> |
| <td class="paramtype">const std::string & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push new diagnostic context information for the current thread. </p> |
| <p>The contents of the <code>message</code> parameter is determined solely by the client. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="accac902acd908c0dff6601c7a861785e"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void push </td> |
| <td>(</td> |
| <td class="paramtype">const std::wstring & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push new diagnostic context information for the current thread. </p> |
| <p>The contents of the <code>message</code> parameter is determined solely by the client. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="a67f283cbdbf951781c6f24f93b000fa1"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void push </td> |
| <td>(</td> |
| <td class="paramtype">const std::basic_string< <a class="el" href="namespacelog4cxx.html#a7edf438a3547255847b2b903b1a36aaf">UniChar</a> > & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push new diagnostic context information for the current thread. </p> |
| <p>The contents of the <code>message</code> parameter is determined solely by the client. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="ae579f7b51f97fab7dfa2d3217b1ceaab"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void push </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="logstring_8h.html#a782e95610ad4dd24aee670f3b5846a3b">CFStringRef</a> & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push new diagnostic context information for the current thread. </p> |
| <p>The contents of the <code>message</code> parameter is determined solely by the client. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="adb03ca6083676de6be2adf9346f12a89"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void pushLS </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> & </td> |
| <td class="paramname"><em>message</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Push new diagnostic context information for the current thread. </p> |
| <p>The contents of the <code>message</code> parameter is determined solely by the client. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">message</td><td>The new diagnostic context information. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a class="anchor" id="af54fd13c5dd6e2cd20190d8ce7b3125d"></a> |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static void remove </td> |
| <td>(</td> |
| <td class="paramname"></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Remove the diagnostic context for this thread. </p> |
| <p>Each thread that created a diagnostic context by calling <a class="el" href="classlog4cxx_1_1_n_d_c.html#a670a4077b7624737946c2a15817dfcee" title="Push new diagnostic context information for the current thread. ">push</a> should call this method before exiting. Otherwise, the memory used by the <b>thread</b> cannot be reclaimed by the VM. </p> |
| <p>As this is such an important problem in heavy duty systems and because it is difficult to always guarantee that the remove method is called before exiting a thread, this method has been augmented to lazily remove references to dead threads. In practice, this means that you can be a little sloppy and occasionally forget to call <a class="el" href="classlog4cxx_1_1_n_d_c.html#af54fd13c5dd6e2cd20190d8ce7b3125d" title="Remove the diagnostic context for this thread. ">remove</a> before exiting a thread. However, you must call <code>remove</code> sometime. If you never call it, then your application is sure to run out of memory. </p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following file:<ul> |
| <li><a class="el" href="ndc_8h.html">ndc.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| </div><!-- doc-content --> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| http://www.apache.org/licenses/LICENSE-2.0 |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| </body> |
| </html> |