blob: a442e6562d2be3c7452a3fed8265a51e81de864f [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Log4cxx: Logging macros</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>
<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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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 id="projectrow">
<td id="projectalign">
<div id="projectname">Apache Log4cxx<span id="projectnumber">&#160;Version 1.1.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></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">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__LoggingMacros.html',''); initResizable(); });
/* @license-end */
</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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">Logging macros</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gac5e26fe3436dd75332ed99f748918b7a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a>(expr)&#160;&#160;&#160;expr</td></tr>
<tr class="memdesc:gac5e26fe3436dd75332ed99f748918b7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides optimization hint to the compiler to optimize for the expression being false. <br /></td></tr>
<tr class="separator:gac5e26fe3436dd75332ed99f748918b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9a81c1daa47e4b94306b950cf573b1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gaf9a81c1daa47e4b94306b950cf573b1e">LOG4CXX_STACKTRACE</a></td></tr>
<tr class="separator:gaf9a81c1daa47e4b94306b950cf573b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13557a4dfa1e87ae893398d800e2171a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga13557a4dfa1e87ae893398d800e2171a">LOG4CXX_LOG</a>(logger, level, message)</td></tr>
<tr class="memdesc:ga13557a4dfa1e87ae893398d800e2171a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if this logger is enabled for <code>events</code>. <br /></td></tr>
<tr class="separator:ga13557a4dfa1e87ae893398d800e2171a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3efe467b309c4bd5b38d4cead0c6566a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga3efe467b309c4bd5b38d4cead0c6566a">LOG4CXX_LOG_FMT</a>(logger, level, ...)</td></tr>
<tr class="memdesc:ga3efe467b309c4bd5b38d4cead0c6566a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if this logger is enabled for <code>events</code>. <br /></td></tr>
<tr class="separator:ga3efe467b309c4bd5b38d4cead0c6566a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0c56ecb6dd14e76107317ce85e7ae92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gaf0c56ecb6dd14e76107317ce85e7ae92">LOG4CXX_LOGLS</a>(logger, level, message)</td></tr>
<tr class="memdesc:gaf0c56ecb6dd14e76107317ce85e7ae92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if this logger is enabled for <code>events</code>. <br /></td></tr>
<tr class="separator:gaf0c56ecb6dd14e76107317ce85e7ae92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1bc2ab20d5f2d7660995ea8244d3a26"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gae1bc2ab20d5f2d7660995ea8244d3a26">LOG4CXX_DEBUG</a>(logger, message)</td></tr>
<tr class="memdesc:gae1bc2ab20d5f2d7660995ea8244d3a26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>DEBUG</code> events. <br /></td></tr>
<tr class="separator:gae1bc2ab20d5f2d7660995ea8244d3a26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b87a22cdd73df54fcb038a3690b0c3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga0b87a22cdd73df54fcb038a3690b0c3d">LOG4CXX_DEBUG_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:ga0b87a22cdd73df54fcb038a3690b0c3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>DEBUG</code> events. <br /></td></tr>
<tr class="separator:ga0b87a22cdd73df54fcb038a3690b0c3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga806900dd7eafb458d0472d9c8f84594b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga806900dd7eafb458d0472d9c8f84594b">LOG4CXX_TRACE</a>(logger, message)</td></tr>
<tr class="memdesc:ga806900dd7eafb458d0472d9c8f84594b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>TRACE</code> events. <br /></td></tr>
<tr class="separator:ga806900dd7eafb458d0472d9c8f84594b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4ddc0ff8e62b79755943b6b0f3c5ae2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gad4ddc0ff8e62b79755943b6b0f3c5ae2">LOG4CXX_TRACE_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:gad4ddc0ff8e62b79755943b6b0f3c5ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>TRACE</code> events. <br /></td></tr>
<tr class="separator:gad4ddc0ff8e62b79755943b6b0f3c5ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61dfed4f5eca82725a90a331f37857d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga61dfed4f5eca82725a90a331f37857d3">LOG4CXX_INFO</a>(logger, message)</td></tr>
<tr class="memdesc:ga61dfed4f5eca82725a90a331f37857d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>INFO</code> events. <br /></td></tr>
<tr class="separator:ga61dfed4f5eca82725a90a331f37857d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6c9cdbeef01d237af37a897beda825e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gae6c9cdbeef01d237af37a897beda825e">LOG4CXX_INFO_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:gae6c9cdbeef01d237af37a897beda825e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>INFO</code> events. <br /></td></tr>
<tr class="separator:gae6c9cdbeef01d237af37a897beda825e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga530190bc1766b89d1f69ad572509aed2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga530190bc1766b89d1f69ad572509aed2">LOG4CXX_WARN</a>(logger, message)</td></tr>
<tr class="memdesc:ga530190bc1766b89d1f69ad572509aed2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>WARN</code> events. <br /></td></tr>
<tr class="separator:ga530190bc1766b89d1f69ad572509aed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd0469e25084662bd68736cd57e3bec0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gabd0469e25084662bd68736cd57e3bec0">LOG4CXX_WARN_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:gabd0469e25084662bd68736cd57e3bec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>WARN</code> events. <br /></td></tr>
<tr class="separator:gabd0469e25084662bd68736cd57e3bec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2dd8d775aa30be2d9a51df615918b50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gaa2dd8d775aa30be2d9a51df615918b50">LOG4CXX_ERROR</a>(logger, message)</td></tr>
<tr class="memdesc:gaa2dd8d775aa30be2d9a51df615918b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. <br /></td></tr>
<tr class="separator:gaa2dd8d775aa30be2d9a51df615918b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53db048f53607e57287d53f6cc9ef19e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga53db048f53607e57287d53f6cc9ef19e">LOG4CXX_ERROR_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:ga53db048f53607e57287d53f6cc9ef19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. <br /></td></tr>
<tr class="separator:ga53db048f53607e57287d53f6cc9ef19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1aff240314ce7e27034be68f6591745d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga1aff240314ce7e27034be68f6591745d">LOG4CXX_ASSERT</a>(logger, condition, message)</td></tr>
<tr class="memdesc:ga1aff240314ce7e27034be68f6591745d"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>condition</code> is not true, add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. <br /></td></tr>
<tr class="separator:ga1aff240314ce7e27034be68f6591745d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b0e89d3aa3f3b83de7af5c011ba00b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga2b0e89d3aa3f3b83de7af5c011ba00b5">LOG4CXX_ASSERT_FMT</a>(logger, condition, ...)</td></tr>
<tr class="memdesc:ga2b0e89d3aa3f3b83de7af5c011ba00b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>condition</code> is not true, add a new logging event containing libfmt formatted <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. <br /></td></tr>
<tr class="separator:ga2b0e89d3aa3f3b83de7af5c011ba00b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7aca8ae1ffa1cf893f1e8f362c53fc01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga7aca8ae1ffa1cf893f1e8f362c53fc01">LOG4CXX_FATAL</a>(logger, message)</td></tr>
<tr class="memdesc:ga7aca8ae1ffa1cf893f1e8f362c53fc01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>FATAL</code> events. <br /></td></tr>
<tr class="separator:ga7aca8ae1ffa1cf893f1e8f362c53fc01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga064edd5643b575d3e8b8d0916c259125"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga064edd5643b575d3e8b8d0916c259125">LOG4CXX_FATAL_FMT</a>(logger, ...)</td></tr>
<tr class="memdesc:ga064edd5643b575d3e8b8d0916c259125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>FATAL</code> events. <br /></td></tr>
<tr class="separator:ga064edd5643b575d3e8b8d0916c259125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63d440667d6a71382119cb60de924245"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga63d440667d6a71382119cb60de924245">LOG4CXX_L7DLOG</a>(logger, level, key)</td></tr>
<tr class="memdesc:ga63d440667d6a71382119cb60de924245"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events. <br /></td></tr>
<tr class="separator:ga63d440667d6a71382119cb60de924245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9536127974b613d5411cdfaee117c3ef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga9536127974b613d5411cdfaee117c3ef">LOG4CXX_L7DLOG1</a>(logger, level, key, p1)</td></tr>
<tr class="memdesc:ga9536127974b613d5411cdfaee117c3ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with one parameter. <br /></td></tr>
<tr class="separator:ga9536127974b613d5411cdfaee117c3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe923e6c519eb1b2f9694b5d42d64f97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#gafe923e6c519eb1b2f9694b5d42d64f97">LOG4CXX_L7DLOG2</a>(logger, level, key, p1, p2)</td></tr>
<tr class="memdesc:gafe923e6c519eb1b2f9694b5d42d64f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with two parameters. <br /></td></tr>
<tr class="separator:gafe923e6c519eb1b2f9694b5d42d64f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga325a73a18c32d1aaf399805566e0b3e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LoggingMacros.html#ga325a73a18c32d1aaf399805566e0b3e2">LOG4CXX_L7DLOG3</a>(logger, level, key, p1, p2, p3)</td></tr>
<tr class="memdesc:ga325a73a18c32d1aaf399805566e0b3e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with three parameters. <br /></td></tr>
<tr class="separator:ga325a73a18c32d1aaf399805566e0b3e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga1aff240314ce7e27034be68f6591745d" name="ga1aff240314ce7e27034be68f6591745d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1aff240314ce7e27034be68f6591745d">&#9670;&#160;</a></span>LOG4CXX_ASSERT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_ASSERT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">condition, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (!(condition) &amp;&amp; <a class="code hl_function" href="classlog4cxx_1_1Logger.html#a17522c7c623b1fc2b5b3b65212f1d5ea">::log4cxx::Logger::isErrorEnabledFor</a>(logger)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> LOG4CXX_STACKTRACE \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a04c5639b1c01a88066c880dacdb48182">::log4cxx::Level::getError</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_a04c5639b1c01a88066c880dacdb48182"><div class="ttname"><a href="classlog4cxx_1_1Level.html#a04c5639b1c01a88066c880dacdb48182">log4cxx::Level::getError</a></div><div class="ttdeci">static LevelPtr getError()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_a17522c7c623b1fc2b5b3b65212f1d5ea"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#a17522c7c623b1fc2b5b3b65212f1d5ea">log4cxx::Logger::isErrorEnabledFor</a></div><div class="ttdeci">static bool isErrorEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for ERROR level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1095</div></div>
<div class="ttc" id="aclasslog4cxx_1_1helpers_1_1MessageBuffer_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">log4cxx::helpers::MessageBuffer</a></div><div class="ttdoc">This class is used by the LOG4CXX_INFO and similar macros to support insertion operators in the messa...</div><div class="ttdef"><b>Definition:</b> messagebuffer.h:525</div></div>
<div class="ttc" id="aclasslog4cxx_1_1helpers_1_1MessageBuffer_html_a9cd4800b73a15f8912aa113d1c9a5493"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">log4cxx::helpers::MessageBuffer::str</a></div><div class="ttdeci">const std::string &amp; str(CharMessageBuffer &amp;buf)</div><div class="ttdoc">Get content of buffer.</div></div>
<div class="ttc" id="alocationinfo_8h_html_addb632a87b7bbddd3574e772dca97da1"><div class="ttname"><a href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a></div><div class="ttdeci">#define LOG4CXX_LOCATION</div><div class="ttdef"><b>Definition:</b> locationinfo.h:170</div></div>
</div><!-- fragment -->
<p>If <code>condition</code> is not true, add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">condition</td><td>condition </td></tr>
<tr><td class="paramname">message</td><td>the message string to log. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga2b0e89d3aa3f3b83de7af5c011ba00b5" name="ga2b0e89d3aa3f3b83de7af5c011ba00b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b0e89d3aa3f3b83de7af5c011ba00b5">&#9670;&#160;</a></span>LOG4CXX_ASSERT_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_ASSERT_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">condition, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (!(condition) &amp;&amp; <a class="code hl_function" href="classlog4cxx_1_1Logger.html#a17522c7c623b1fc2b5b3b65212f1d5ea">::log4cxx::Logger::isErrorEnabledFor</a>(logger)) {\</div>
<div class="line"> LOG4CXX_STACKTRACE \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a04c5639b1c01a88066c880dacdb48182">::log4cxx::Level::getError</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>If <code>condition</code> is not true, add a new logging event containing libfmt formatted <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">condition</td><td>condition </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gae1bc2ab20d5f2d7660995ea8244d3a26" name="gae1bc2ab20d5f2d7660995ea8244d3a26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae1bc2ab20d5f2d7660995ea8244d3a26">&#9670;&#160;</a></span>LOG4CXX_DEBUG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_DEBUG</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_define" href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a>(<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a9a7548679bf8cfdaeb57ae9f63b7fbb8">::log4cxx::Logger::isDebugEnabledFor</a>(logger))) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a50877f65485c470531717eb875d378a8">::log4cxx::Level::getDebug</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_a50877f65485c470531717eb875d378a8"><div class="ttname"><a href="classlog4cxx_1_1Level.html#a50877f65485c470531717eb875d378a8">log4cxx::Level::getDebug</a></div><div class="ttdeci">static LevelPtr getDebug()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_a9a7548679bf8cfdaeb57ae9f63b7fbb8"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#a9a7548679bf8cfdaeb57ae9f63b7fbb8">log4cxx::Logger::isDebugEnabledFor</a></div><div class="ttdeci">static bool isDebugEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for DEBUG level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1009</div></div>
<div class="ttc" id="agroup__LoggingMacros_html_gac5e26fe3436dd75332ed99f748918b7a"><div class="ttname"><a href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a></div><div class="ttdeci">#define LOG4CXX_UNLIKELY(expr)</div><div class="ttdoc">Provides optimization hint to the compiler to optimize for the expression being false.</div><div class="ttdef"><b>Definition:</b> logger.h:1956</div></div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>DEBUG</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger that has the enabled status. </td></tr>
<tr><td class="paramname">message</td><td>a valid r-value expression of an <code>operator&lt;&lt;(std::basic::ostream&amp;. ...)</code> overload.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><a class="code hl_define" href="group__LoggingMacros.html#gae1bc2ab20d5f2d7660995ea8244d3a26">LOG4CXX_DEBUG</a>(m_log, <span class="stringliteral">&quot;AddMesh:&quot;</span></div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; name &quot;</span> &lt;&lt; meshName</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; type 0x&quot;</span> &lt;&lt; std:: hex &lt;&lt; traits.Type</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; materialName &quot;</span> &lt;&lt; meshObject.GetMaterialName()</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; visible &quot;</span> &lt;&lt; traits.IsDefaultVisible</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; at &quot;</span> &lt;&lt; obj-&gt;getBoundingBox().getCenter()</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; +/- &quot;</span> &lt;&lt; obj-&gt;getBoundingBox().getHalfSize()</div>
<div class="line"> );</div>
<div class="ttc" id="agroup__LoggingMacros_html_gae1bc2ab20d5f2d7660995ea8244d3a26"><div class="ttname"><a href="group__LoggingMacros.html#gae1bc2ab20d5f2d7660995ea8244d3a26">LOG4CXX_DEBUG</a></div><div class="ttdeci">#define LOG4CXX_DEBUG(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for DEBUG eve...</div><div class="ttdef"><b>Definition:</b> logger.h:2034</div></div>
</div><!-- fragment --> <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="auto-configured_8cpp-example.html#a0">auto-configured.cpp</a>, and <a class="el" href="trivial_8cpp-example.html#a2">trivial.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="ga0b87a22cdd73df54fcb038a3690b0c3d" name="ga0b87a22cdd73df54fcb038a3690b0c3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b87a22cdd73df54fcb038a3690b0c3d">&#9670;&#160;</a></span>LOG4CXX_DEBUG_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_DEBUG_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_define" href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a>(<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a9a7548679bf8cfdaeb57ae9f63b7fbb8">::log4cxx::Logger::isDebugEnabledFor</a>(logger))) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a50877f65485c470531717eb875d378a8">::log4cxx::Level::getDebug</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>DEBUG</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaa2dd8d775aa30be2d9a51df615918b50" name="gaa2dd8d775aa30be2d9a51df615918b50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa2dd8d775aa30be2d9a51df615918b50">&#9670;&#160;</a></span>LOG4CXX_ERROR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_ERROR</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a17522c7c623b1fc2b5b3b65212f1d5ea">::log4cxx::Logger::isErrorEnabledFor</a>(logger)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a04c5639b1c01a88066c880dacdb48182">::log4cxx::Level::getError</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">message</td><td>the message string to log.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><span class="keywordflow">catch</span> (std::exception&amp; ex)</div>
<div class="line">{</div>
<div class="line"> <a class="code hl_define" href="group__LoggingMacros.html#gaa2dd8d775aa30be2d9a51df615918b50">LOG4CXX_ERROR</a>(m_log, ex.what() &lt;&lt; <span class="stringliteral">&quot; in AddScanData&quot;</span>);</div>
<div class="line">}</div>
<div class="ttc" id="agroup__LoggingMacros_html_gaa2dd8d775aa30be2d9a51df615918b50"><div class="ttname"><a href="group__LoggingMacros.html#gaa2dd8d775aa30be2d9a51df615918b50">LOG4CXX_ERROR</a></div><div class="ttdeci">#define LOG4CXX_ERROR(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for ERROR eve...</div><div class="ttdef"><b>Definition:</b> logger.h:2170</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga53db048f53607e57287d53f6cc9ef19e" name="ga53db048f53607e57287d53f6cc9ef19e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga53db048f53607e57287d53f6cc9ef19e">&#9670;&#160;</a></span>LOG4CXX_ERROR_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_ERROR_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a17522c7c623b1fc2b5b3b65212f1d5ea">::log4cxx::Logger::isErrorEnabledFor</a>(logger)) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a04c5639b1c01a88066c880dacdb48182">::log4cxx::Level::getError</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>ERROR</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga7aca8ae1ffa1cf893f1e8f362c53fc01" name="ga7aca8ae1ffa1cf893f1e8f362c53fc01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7aca8ae1ffa1cf893f1e8f362c53fc01">&#9670;&#160;</a></span>LOG4CXX_FATAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_FATAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#aa43b8d23056c5ebec18c983177cd94fe">::log4cxx::Logger::isFatalEnabledFor</a>(logger)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#ae646c9e41c622600023df5a988eace07">::log4cxx::Level::getFatal</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_ae646c9e41c622600023df5a988eace07"><div class="ttname"><a href="classlog4cxx_1_1Level.html#ae646c9e41c622600023df5a988eace07">log4cxx::Level::getFatal</a></div><div class="ttdeci">static LevelPtr getFatal()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_aa43b8d23056c5ebec18c983177cd94fe"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#aa43b8d23056c5ebec18c983177cd94fe">log4cxx::Logger::isFatalEnabledFor</a></div><div class="ttdeci">static bool isFatalEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for FATAL level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1121</div></div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>FATAL</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">message</td><td>the message string to log.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><a class="code hl_define" href="group__LoggingMacros.html#ga7aca8ae1ffa1cf893f1e8f362c53fc01">LOG4CXX_FATAL</a>(m_log, m_renderSystem-&gt;getName() &lt;&lt; <span class="stringliteral">&quot; is not supported&quot;</span>);</div>
<div class="ttc" id="agroup__LoggingMacros_html_ga7aca8ae1ffa1cf893f1e8f362c53fc01"><div class="ttname"><a href="group__LoggingMacros.html#ga7aca8ae1ffa1cf893f1e8f362c53fc01">LOG4CXX_FATAL</a></div><div class="ttdeci">#define LOG4CXX_FATAL(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for FATAL eve...</div><div class="ttdef"><b>Definition:</b> logger.h:2229</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga064edd5643b575d3e8b8d0916c259125" name="ga064edd5643b575d3e8b8d0916c259125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga064edd5643b575d3e8b8d0916c259125">&#9670;&#160;</a></span>LOG4CXX_FATAL_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_FATAL_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#aa43b8d23056c5ebec18c983177cd94fe">::log4cxx::Logger::isFatalEnabledFor</a>(logger)) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#ae646c9e41c622600023df5a988eace07">::log4cxx::Level::getFatal</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>FATAL</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga61dfed4f5eca82725a90a331f37857d3" name="ga61dfed4f5eca82725a90a331f37857d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61dfed4f5eca82725a90a331f37857d3">&#9670;&#160;</a></span>LOG4CXX_INFO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_INFO</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#aafad34b88e89a91dd42e27187326a47c">::log4cxx::Logger::isInfoEnabledFor</a>(logger)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#ab7c74df8715d5009b3d9f06658d19847">::log4cxx::Level::getInfo</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_ab7c74df8715d5009b3d9f06658d19847"><div class="ttname"><a href="classlog4cxx_1_1Level.html#ab7c74df8715d5009b3d9f06658d19847">log4cxx::Level::getInfo</a></div><div class="ttdeci">static LevelPtr getInfo()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_aafad34b88e89a91dd42e27187326a47c"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#aafad34b88e89a91dd42e27187326a47c">log4cxx::Logger::isInfoEnabledFor</a></div><div class="ttdeci">static bool isInfoEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for INFO level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1043</div></div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>INFO</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger that has the enabled status. </td></tr>
<tr><td class="paramname">message</td><td>a valid r-value expression of an <code>operator&lt;&lt;(std::basic::ostream&amp;. ...)</code> overload.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><a class="code hl_define" href="group__LoggingMacros.html#ga61dfed4f5eca82725a90a331f37857d3">LOG4CXX_INFO</a>(m_log, surface-&gt;GetName()</div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; successfully planned &quot;</span> &lt;&lt; std::fixed &lt;&lt; std::setprecision(1) &lt;&lt; ((plannedArea / (plannedArea + unplannedArea)) * 100.0) &lt;&lt; <span class="stringliteral">&quot;%&quot;</span></div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; planned area &quot;</span> &lt;&lt; std::fixed &lt;&lt; std::setprecision(4) &lt;&lt; plannedArea &lt;&lt; <span class="stringliteral">&quot;m^2&quot;</span></div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; unplanned area &quot;</span> &lt;&lt; unplannedArea &lt;&lt; <span class="stringliteral">&quot;m^2&quot;</span></div>
<div class="line"> &lt;&lt; <span class="stringliteral">&quot; planned segments &quot;</span> &lt;&lt; surface-&gt;GetSegmentPlanCount() &lt;&lt; <span class="stringliteral">&quot; of &quot;</span> &lt;&lt; surface-&gt;GetSegmentCount()</div>
<div class="line"> );</div>
<div class="ttc" id="agroup__LoggingMacros_html_ga61dfed4f5eca82725a90a331f37857d3"><div class="ttname"><a href="group__LoggingMacros.html#ga61dfed4f5eca82725a90a331f37857d3">LOG4CXX_INFO</a></div><div class="ttdeci">#define LOG4CXX_INFO(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for INFO even...</div><div class="ttdef"><b>Definition:</b> logger.h:2102</div></div>
</div><!-- fragment --> <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="auto-configured_8cpp-example.html#a1">auto-configured.cpp</a>, <a class="el" href="custom-appender_8cpp-example.html#a8">custom-appender.cpp</a>, <a class="el" href="format-string_8cpp-example.html#a1">format-string.cpp</a>, and <a class="el" href="trivial_8cpp-example.html#a1">trivial.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gae6c9cdbeef01d237af37a897beda825e" name="gae6c9cdbeef01d237af37a897beda825e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae6c9cdbeef01d237af37a897beda825e">&#9670;&#160;</a></span>LOG4CXX_INFO_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_INFO_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#aafad34b88e89a91dd42e27187326a47c">::log4cxx::Logger::isInfoEnabledFor</a>(logger)) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#ab7c74df8715d5009b3d9f06658d19847">::log4cxx::Level::getInfo</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>INFO</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="format-string_8cpp-example.html#a0">format-string.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="ga63d440667d6a71382119cb60de924245" name="ga63d440667d6a71382119cb60de924245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga63d440667d6a71382119cb60de924245">&#9670;&#160;</a></span>LOG4CXX_L7DLOG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_L7DLOG</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">key&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> logger-&gt;l7dlog(level, key, <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">key</td><td>the key to be searched in the resourceBundle of the logger. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga9536127974b613d5411cdfaee117c3ef" name="ga9536127974b613d5411cdfaee117c3ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9536127974b613d5411cdfaee117c3ef">&#9670;&#160;</a></span>LOG4CXX_L7DLOG1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_L7DLOG1</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">key, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p1&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> logger-&gt;l7dlog(level, key, <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>, p1); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with one parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">key</td><td>the key to be searched in the resourceBundle of the logger. </td></tr>
<tr><td class="paramname">p1</td><td>the unique parameter. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gafe923e6c519eb1b2f9694b5d42d64f97" name="gafe923e6c519eb1b2f9694b5d42d64f97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe923e6c519eb1b2f9694b5d42d64f97">&#9670;&#160;</a></span>LOG4CXX_L7DLOG2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_L7DLOG2</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">key, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p2&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> logger-&gt;l7dlog(level, key, <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>, p1, p2); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with two parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">key</td><td>the key to be searched in the resourceBundle of the logger. </td></tr>
<tr><td class="paramname">p1</td><td>the first parameter. </td></tr>
<tr><td class="paramname">p2</td><td>the second parameter. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga325a73a18c32d1aaf399805566e0b3e2" name="ga325a73a18c32d1aaf399805566e0b3e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga325a73a18c32d1aaf399805566e0b3e2">&#9670;&#160;</a></span>LOG4CXX_L7DLOG3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_L7DLOG3</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">key, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p2, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">p3&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> logger-&gt;l7dlog(level, key, <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>, p1, p2, p3); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing the localized message <code>key</code> to attached appender(s) if <code>logger</code> is enabled for <code>level</code> events with three parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">key</td><td>the key to be searched in the resourceBundle of the logger. </td></tr>
<tr><td class="paramname">p1</td><td>the first parameter. </td></tr>
<tr><td class="paramname">p2</td><td>the second parameter. </td></tr>
<tr><td class="paramname">p3</td><td>the third parameter. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga13557a4dfa1e87ae893398d800e2171a" name="ga13557a4dfa1e87ae893398d800e2171a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga13557a4dfa1e87ae893398d800e2171a">&#9670;&#160;</a></span>LOG4CXX_LOG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_LOG</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(level, oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if this logger is enabled for <code>events</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">message</td><td>the message string to log. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga3efe467b309c4bd5b38d4cead0c6566a" name="ga3efe467b309c4bd5b38d4cead0c6566a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3efe467b309c4bd5b38d4cead0c6566a">&#9670;&#160;</a></span>LOG4CXX_LOG_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_LOG_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> logger-&gt;forcedLog(level, fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if this logger is enabled for <code>events</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaf0c56ecb6dd14e76107317ce85e7ae92" name="gaf0c56ecb6dd14e76107317ce85e7ae92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0c56ecb6dd14e76107317ce85e7ae92">&#9670;&#160;</a></span>LOG4CXX_LOGLS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_LOGLS</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">level, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (logger-&gt;isEnabledFor(level)) {\</div>
<div class="line"> ::log4cxx::helpers::LogCharMessageBuffer oss_; \</div>
<div class="line"> logger-&gt;forcedLog(level, oss_.str(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if this logger is enabled for <code>events</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">level</td><td>the level to log. </td></tr>
<tr><td class="paramname">message</td><td>the message string to log in the internal encoding. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaf9a81c1daa47e4b94306b950cf573b1e" name="gaf9a81c1daa47e4b94306b950cf573b1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9a81c1daa47e4b94306b950cf573b1e">&#9670;&#160;</a></span>LOG4CXX_STACKTRACE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_STACKTRACE</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga806900dd7eafb458d0472d9c8f84594b" name="ga806900dd7eafb458d0472d9c8f84594b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga806900dd7eafb458d0472d9c8f84594b">&#9670;&#160;</a></span>LOG4CXX_TRACE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_TRACE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_define" href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a>(<a class="code hl_function" href="classlog4cxx_1_1Logger.html#af321da5646bfae55cc31b322315f0037">::log4cxx::Logger::isTraceEnabledFor</a>(logger))) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a69bad23e5a80455b30849e7295e7e637">::log4cxx::Level::getTrace</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_a69bad23e5a80455b30849e7295e7e637"><div class="ttname"><a href="classlog4cxx_1_1Level.html#a69bad23e5a80455b30849e7295e7e637">log4cxx::Level::getTrace</a></div><div class="ttdeci">static LevelPtr getTrace()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_af321da5646bfae55cc31b322315f0037"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#af321da5646bfae55cc31b322315f0037">log4cxx::Logger::isTraceEnabledFor</a></div><div class="ttdeci">static bool isTraceEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for TRACE level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1147</div></div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>TRACE</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger that has the enabled status. </td></tr>
<tr><td class="paramname">message</td><td>a valid r-value expression of an <code>operator&lt;&lt;(std::basic::ostream&amp;. ...)</code> overload.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><a class="code hl_define" href="group__LoggingMacros.html#ga806900dd7eafb458d0472d9c8f84594b">LOG4CXX_TRACE</a>(m_log, <span class="stringliteral">&quot;AddVertex:&quot;</span> &lt;&lt; <span class="stringliteral">&quot; p &quot;</span> &lt;&lt; p[j] &lt;&lt; <span class="stringliteral">&quot; n &quot;</span> &lt;&lt; n &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; color);</div>
<div class="ttc" id="agroup__LoggingMacros_html_ga806900dd7eafb458d0472d9c8f84594b"><div class="ttname"><a href="group__LoggingMacros.html#ga806900dd7eafb458d0472d9c8f84594b">LOG4CXX_TRACE</a></div><div class="ttdeci">#define LOG4CXX_TRACE(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for TRACE eve...</div><div class="ttdef"><b>Definition:</b> logger.h:2066</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="gad4ddc0ff8e62b79755943b6b0f3c5ae2" name="gad4ddc0ff8e62b79755943b6b0f3c5ae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad4ddc0ff8e62b79755943b6b0f3c5ae2">&#9670;&#160;</a></span>LOG4CXX_TRACE_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_TRACE_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_define" href="group__LoggingMacros.html#gac5e26fe3436dd75332ed99f748918b7a">LOG4CXX_UNLIKELY</a>(<a class="code hl_function" href="classlog4cxx_1_1Logger.html#af321da5646bfae55cc31b322315f0037">::log4cxx::Logger::isTraceEnabledFor</a>(logger))) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a69bad23e5a80455b30849e7295e7e637">::log4cxx::Level::getTrace</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>TRACE</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac5e26fe3436dd75332ed99f748918b7a" name="gac5e26fe3436dd75332ed99f748918b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5e26fe3436dd75332ed99f748918b7a">&#9670;&#160;</a></span>LOG4CXX_UNLIKELY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_UNLIKELY</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">expr</td><td>)</td>
<td>&#160;&#160;&#160;expr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Provides optimization hint to the compiler to optimize for the expression being false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">expr</td><td>boolean expression. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of expression. </dd></dl>
</div>
</div>
<a id="ga530190bc1766b89d1f69ad572509aed2" name="ga530190bc1766b89d1f69ad572509aed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga530190bc1766b89d1f69ad572509aed2">&#9670;&#160;</a></span>LOG4CXX_WARN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_WARN</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">message&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a7c28e5878ae61a31af7169ef1ba6f59c">::log4cxx::Logger::isWarnEnabledFor</a>(logger)) {\</div>
<div class="line"> <a class="code hl_class" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html">::log4cxx::helpers::MessageBuffer</a> oss_; \</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a47f6bdf38d7f5bc99886e4cb6601e70a">::log4cxx::Level::getWarn</a>(), oss_.<a class="code hl_function" href="classlog4cxx_1_1helpers_1_1MessageBuffer.html#a9cd4800b73a15f8912aa113d1c9a5493">str</a>(oss_ &lt;&lt; message), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="aclasslog4cxx_1_1Level_html_a47f6bdf38d7f5bc99886e4cb6601e70a"><div class="ttname"><a href="classlog4cxx_1_1Level.html#a47f6bdf38d7f5bc99886e4cb6601e70a">log4cxx::Level::getWarn</a></div><div class="ttdeci">static LevelPtr getWarn()</div></div>
<div class="ttc" id="aclasslog4cxx_1_1Logger_html_a7c28e5878ae61a31af7169ef1ba6f59c"><div class="ttname"><a href="classlog4cxx_1_1Logger.html#a7c28e5878ae61a31af7169ef1ba6f59c">log4cxx::Logger::isWarnEnabledFor</a></div><div class="ttdeci">static bool isWarnEnabledFor(const LoggerPtr &amp;logger)</div><div class="ttdoc">Is logger is enabled for WARN level logging events?</div><div class="ttdef"><b>Definition:</b> logger.h:1069</div></div>
</div><!-- fragment -->
<p>Add a new logging event containing <code>message</code> to attached appender(s) if <code>logger</code> is enabled for <code>WARN</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">message</td><td>the message string to log.</td></tr>
</table>
</dd>
</dl>
<p>Example: </p><div class="fragment"><div class="line"><span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; ex)</div>
<div class="line">{</div>
<div class="line"> <a class="code hl_define" href="group__LoggingMacros.html#ga530190bc1766b89d1f69ad572509aed2">LOG4CXX_WARN</a>(m_log, ex.what() &lt;&lt; <span class="stringliteral">&quot;: in &quot;</span> &lt;&lt; m_task-&gt;GetParamFilePath());</div>
<div class="line">}</div>
<div class="ttc" id="agroup__LoggingMacros_html_ga530190bc1766b89d1f69ad572509aed2"><div class="ttname"><a href="group__LoggingMacros.html#ga530190bc1766b89d1f69ad572509aed2">LOG4CXX_WARN</a></div><div class="ttdeci">#define LOG4CXX_WARN(logger, message)</div><div class="ttdoc">Add a new logging event containing message to attached appender(s) if logger is enabled for WARN even...</div><div class="ttdef"><b>Definition:</b> logger.h:2136</div></div>
</div><!-- fragment --> <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="trivial_8cpp-example.html#a3">trivial.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gabd0469e25084662bd68736cd57e3bec0" name="gabd0469e25084662bd68736cd57e3bec0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd0469e25084662bd68736cd57e3bec0">&#9670;&#160;</a></span>LOG4CXX_WARN_FMT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOG4CXX_WARN_FMT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">logger, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span> { \</div>
<div class="line"> if (<a class="code hl_function" href="classlog4cxx_1_1Logger.html#a7c28e5878ae61a31af7169ef1ba6f59c">::log4cxx::Logger::isWarnEnabledFor</a>(logger)) {\</div>
<div class="line"> logger-&gt;forcedLog(<a class="code hl_function" href="classlog4cxx_1_1Level.html#a47f6bdf38d7f5bc99886e4cb6601e70a">::log4cxx::Level::getWarn</a>(), fmt::format( __VA_ARGS__ ), <a class="code hl_define" href="locationinfo_8h.html#addb632a87b7bbddd3574e772dca97da1">LOG4CXX_LOCATION</a>); }} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Add a new logging event containing libfmt formatted <code>...</code> to attached appender(s) if <code>logger</code> is enabled for <code>WARN</code> events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>the logger to be used. </td></tr>
<tr><td class="paramname">...</td><td>The format string and message to log </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="https://www.doxygen.nl/images/doxygen.png" alt="Doxygen"/></a> 1.9.6 on Tue Jul 11 2023 </li>
<li class="center">
Copyright &copy; 2003-2023 <a href="https://www.apache.org/">Apache Software Foundation</a>. All Rights Reserved. <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a><br/>
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.<br/>
</li>
</ul>
</div>
</body>
</html>