grpc/cpp/support_2log_8h.html

536 lines
32 KiB
HTML

<!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">
<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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GRPC C++: include/grpc/support/log.h File 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="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" />
</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">GRPC C++
&#160;<span id="projectnumber">1.58.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html">grpc</a></li><li class="navelem"><a class="el" href="dir_cad3142e04109052413f2d2a2d1813b0.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">log.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="support_2port__platform_8h_source.html">grpc/support/port_platform.h</a>&gt;</code><br />
<code>#include &lt;stdarg.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div>
<p><a href="support_2log_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log overrides: applications can use this API to intercept logging calls and use their own implementations. <a href="structgpr__log__func__args.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3e793245091f13bb7318a18b1166a773"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a3e793245091f13bb7318a18b1166a773">GPR_DEBUG</a>&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6">GPR_LOG_SEVERITY_DEBUG</a></td></tr>
<tr class="memdesc:a3e793245091f13bb7318a18b1166a773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to build log contexts at various severity levels. <a href="support_2log_8h.html#a3e793245091f13bb7318a18b1166a773">More...</a><br /></td></tr>
<tr class="separator:a3e793245091f13bb7318a18b1166a773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0d0d75690f79edc9294498c88f96703"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#af0d0d75690f79edc9294498c88f96703">GPR_INFO</a>&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1">GPR_LOG_SEVERITY_INFO</a></td></tr>
<tr class="separator:af0d0d75690f79edc9294498c88f96703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63faedb3eefd93d1c0e79974be80cc36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a63faedb3eefd93d1c0e79974be80cc36">GPR_ERROR</a>&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4">GPR_LOG_SEVERITY_ERROR</a></td></tr>
<tr class="separator:a63faedb3eefd93d1c0e79974be80cc36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ccf52ff690655cc22cd9d053650876f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a6ccf52ff690655cc22cd9d053650876f">GPR_ASSERT</a>(x)</td></tr>
<tr class="memdesc:a6ccf52ff690655cc22cd9d053650876f"><td class="mdescLeft">&#160;</td><td class="mdescRight">abort() the process if x is zero, having written a line to the log. <a href="support_2log_8h.html#a6ccf52ff690655cc22cd9d053650876f">More...</a><br /></td></tr>
<tr class="separator:a6ccf52ff690655cc22cd9d053650876f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4720a11176c735c4456815394edb6bff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a4720a11176c735c4456815394edb6bff">GPR_DEBUG_ASSERT</a>(x)&#160;&#160;&#160;<a class="el" href="support_2log_8h.html#a6ccf52ff690655cc22cd9d053650876f">GPR_ASSERT</a>(x)</td></tr>
<tr class="separator:a4720a11176c735c4456815394edb6bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a3a2a87a76a9906f50b33472e2e68381d"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a3a2a87a76a9906f50b33472e2e68381d">gpr_log_severity</a></td></tr>
<tr class="memdesc:a3a2a87a76a9906f50b33472e2e68381d"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPR log API. <a href="support_2log_8h.html#a3a2a87a76a9906f50b33472e2e68381d">More...</a><br /></td></tr>
<tr class="separator:a3a2a87a76a9906f50b33472e2e68381d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce8dc81f07a98265e917de7d7f3cde5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#adce8dc81f07a98265e917de7d7f3cde5">gpr_log_func_args</a></td></tr>
<tr class="separator:adce8dc81f07a98265e917de7d7f3cde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bba35ee3180d11d8ff5a71cc2ee2a05"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a3bba35ee3180d11d8ff5a71cc2ee2a05">gpr_log_func</a>) (<a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a> *args)</td></tr>
<tr class="separator:a3bba35ee3180d11d8ff5a71cc2ee2a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:af10334b4085ac6985a2af9c08478ad48"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> { <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6">GPR_LOG_SEVERITY_DEBUG</a>,
<a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1">GPR_LOG_SEVERITY_INFO</a>,
<a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4">GPR_LOG_SEVERITY_ERROR</a>
}</td></tr>
<tr class="memdesc:af10334b4085ac6985a2af9c08478ad48"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPR log API. <a href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">More...</a><br /></td></tr>
<tr class="separator:af10334b4085ac6985a2af9c08478ad48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a48772229c123479748e79b8100cfe596"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a48772229c123479748e79b8100cfe596">gpr_log_severity_string</a> (<a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> severity)</td></tr>
<tr class="memdesc:a48772229c123479748e79b8100cfe596"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string representation of the log severity. <a href="support_2log_8h.html#a48772229c123479748e79b8100cfe596">More...</a><br /></td></tr>
<tr class="separator:a48772229c123479748e79b8100cfe596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a938a283d9a10c3ddfe46dfc22e21077f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a938a283d9a10c3ddfe46dfc22e21077f">gpr_log</a> (const char *file, int line, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> severity, const char *format,...) <a class="el" href="support_2port__platform_8h.html#a3364659cddcdfeae3897c3300de03d05">GPR_PRINT_FORMAT_CHECK</a>(4</td></tr>
<tr class="memdesc:a938a283d9a10c3ddfe46dfc22e21077f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a message. <a href="support_2log_8h.html#a938a283d9a10c3ddfe46dfc22e21077f">More...</a><br /></td></tr>
<tr class="separator:a938a283d9a10c3ddfe46dfc22e21077f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb54337c9f6a34074ab181eb98ace47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void <a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a7fb54337c9f6a34074ab181eb98ace47">gpr_should_log</a> (<a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> severity)</td></tr>
<tr class="separator:a7fb54337c9f6a34074ab181eb98ace47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a182dc49f7d429e28b35cb78133e542d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a182dc49f7d429e28b35cb78133e542d8">gpr_log_message</a> (const char *file, int line, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> severity, const char *message)</td></tr>
<tr class="separator:a182dc49f7d429e28b35cb78133e542d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0c537cb1e244060c65d9d9d153979f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#aec0c537cb1e244060c65d9d9d153979f">gpr_set_log_verbosity</a> (<a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> min_severity_to_print)</td></tr>
<tr class="memdesc:aec0c537cb1e244060c65d9d9d153979f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set global log verbosity. <a href="support_2log_8h.html#aec0c537cb1e244060c65d9d9d153979f">More...</a><br /></td></tr>
<tr class="separator:aec0c537cb1e244060c65d9d9d153979f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a920f1611251015a9806177ed78931aa5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a920f1611251015a9806177ed78931aa5">gpr_log_verbosity_init</a> (void)</td></tr>
<tr class="separator:a920f1611251015a9806177ed78931aa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae437062e3540eeebb4c95f119fe56be5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#ae437062e3540eeebb4c95f119fe56be5">gpr_set_log_function</a> (<a class="el" href="support_2log_8h.html#a3bba35ee3180d11d8ff5a71cc2ee2a05">gpr_log_func</a> func)</td></tr>
<tr class="separator:ae437062e3540eeebb4c95f119fe56be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eebbd260cde1ac5050b96c10f41d8e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="support_2log_8h.html#a5eebbd260cde1ac5050b96c10f41d8e7">gpr_assertion_failed</a> (const char *filename, int line, const char *message) <a class="el" href="support_2port__platform_8h.html#ae73de412cde28680b1a91f444463d4df">GPR_ATTRIBUTE_NORETURN</a></td></tr>
<tr class="separator:a5eebbd260cde1ac5050b96c10f41d8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a6ccf52ff690655cc22cd9d053650876f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ccf52ff690655cc22cd9d053650876f">&#9670;&nbsp;</a></span>GPR_ASSERT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPR_ASSERT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</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" href="support_2port__platform_8h.html#a99b5bddfe84f8dc8ee55b35405b8fddd">GPR_UNLIKELY</a>(!(x))) { \</div>
<div class="line"> gpr_assertion_failed(__FILE__, __LINE__, #x); \</div>
<div class="line"> } \</div>
<div class="line"> } <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>abort() the process if x is zero, having written a line to the log. </p>
<p>Intended for internal invariants. If the error can be recovered from, without the possibility of corruption, or might best be reflected via an exception in a higher-level language, consider returning error code. <br />
</p>
</div>
</div>
<a id="a3e793245091f13bb7318a18b1166a773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e793245091f13bb7318a18b1166a773">&#9670;&nbsp;</a></span>GPR_DEBUG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPR_DEBUG&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6">GPR_LOG_SEVERITY_DEBUG</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Macros to build log contexts at various severity levels. </p>
</div>
</div>
<a id="a4720a11176c735c4456815394edb6bff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4720a11176c735c4456815394edb6bff">&#9670;&nbsp;</a></span>GPR_DEBUG_ASSERT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPR_DEBUG_ASSERT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="support_2log_8h.html#a6ccf52ff690655cc22cd9d053650876f">GPR_ASSERT</a>(x)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a63faedb3eefd93d1c0e79974be80cc36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63faedb3eefd93d1c0e79974be80cc36">&#9670;&nbsp;</a></span>GPR_ERROR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPR_ERROR&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4">GPR_LOG_SEVERITY_ERROR</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af0d0d75690f79edc9294498c88f96703"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0d0d75690f79edc9294498c88f96703">&#9670;&nbsp;</a></span>GPR_INFO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPR_INFO&#160;&#160;&#160;__FILE__, __LINE__, <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1">GPR_LOG_SEVERITY_INFO</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a3bba35ee3180d11d8ff5a71cc2ee2a05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bba35ee3180d11d8ff5a71cc2ee2a05">&#9670;&nbsp;</a></span>gpr_log_func</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* gpr_log_func) (<a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a> *args)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adce8dc81f07a98265e917de7d7f3cde5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adce8dc81f07a98265e917de7d7f3cde5">&#9670;&nbsp;</a></span>gpr_log_func_args</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a> <a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3a2a87a76a9906f50b33472e2e68381d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a2a87a76a9906f50b33472e2e68381d">&#9670;&nbsp;</a></span>gpr_log_severity</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a> <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>GPR log API. </p>
<p>Usage (within grpc):</p>
<p>int argument1 = 3; char* argument2 = "hello"; gpr_log(GPR_DEBUG, "format string %d", argument1); gpr_log(GPR_INFO, "hello world"); gpr_log(GPR_ERROR, "%d %s!!", argument1, argument2); The severity of a log message - use the #defines below when calling into gpr_log to additionally supply file and line data </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="af10334b4085ac6985a2af9c08478ad48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af10334b4085ac6985a2af9c08478ad48">&#9670;&nbsp;</a></span>gpr_log_severity</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>GPR log API. </p>
<p>Usage (within grpc):</p>
<p>int argument1 = 3; char* argument2 = "hello"; gpr_log(GPR_DEBUG, "format string %d", argument1); gpr_log(GPR_INFO, "hello world"); gpr_log(GPR_ERROR, "%d %s!!", argument1, argument2); The severity of a log message - use the #defines below when calling into gpr_log to additionally supply file and line data </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6"></a>GPR_LOG_SEVERITY_DEBUG&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1"></a>GPR_LOG_SEVERITY_INFO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4"></a>GPR_LOG_SEVERITY_ERROR&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a5eebbd260cde1ac5050b96c10f41d8e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eebbd260cde1ac5050b96c10f41d8e7">&#9670;&nbsp;</a></span>gpr_assertion_failed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_assertion_failed </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>message</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a938a283d9a10c3ddfe46dfc22e21077f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a938a283d9a10c3ddfe46dfc22e21077f">&#9670;&nbsp;</a></span>gpr_log()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_log </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td>
<td class="paramname"><em>severity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </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">
<p>Log a message. </p>
<p>It's advised to use GPR_xxx above to generate the context for each message </p>
</div>
</div>
<a id="a182dc49f7d429e28b35cb78133e542d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a182dc49f7d429e28b35cb78133e542d8">&#9670;&nbsp;</a></span>gpr_log_message()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_log_message </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td>
<td class="paramname"><em>severity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>message</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a48772229c123479748e79b8100cfe596"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48772229c123479748e79b8100cfe596">&#9670;&nbsp;</a></span>gpr_log_severity_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> char* gpr_log_severity_string </td>
<td>(</td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td>
<td class="paramname"><em>severity</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string representation of the log severity. </p>
</div>
</div>
<a id="a920f1611251015a9806177ed78931aa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a920f1611251015a9806177ed78931aa5">&#9670;&nbsp;</a></span>gpr_log_verbosity_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_log_verbosity_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae437062e3540eeebb4c95f119fe56be5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae437062e3540eeebb4c95f119fe56be5">&#9670;&nbsp;</a></span>gpr_set_log_function()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_set_log_function </td>
<td>(</td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#a3bba35ee3180d11d8ff5a71cc2ee2a05">gpr_log_func</a>&#160;</td>
<td class="paramname"><em>func</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aec0c537cb1e244060c65d9d9d153979f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0c537cb1e244060c65d9d9d153979f">&#9670;&nbsp;</a></span>gpr_set_log_verbosity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void gpr_set_log_verbosity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td>
<td class="paramname"><em>min_severity_to_print</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set global log verbosity. </p>
</div>
</div>
<a id="a7fb54337c9f6a34074ab181eb98ace47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fb54337c9f6a34074ab181eb98ace47">&#9670;&nbsp;</a></span>gpr_should_log()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void <a class="el" href="support_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int gpr_should_log </td>
<td>(</td>
<td class="paramtype"><a class="el" href="support_2log_8h.html#af10334b4085ac6985a2af9c08478ad48">gpr_log_severity</a>&#160;</td>
<td class="paramname"><em>severity</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="asupport_2port__platform_8h_html_a99b5bddfe84f8dc8ee55b35405b8fddd"><div class="ttname"><a href="support_2port__platform_8h.html#a99b5bddfe84f8dc8ee55b35405b8fddd">GPR_UNLIKELY</a></div><div class="ttdeci">#define GPR_UNLIKELY(x)</div><div class="ttdef"><b>Definition:</b> port_platform.h:763</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Sep 6 2023 16:09:16 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>