/usr/share/doc/libxkbcommon-dev/html/group__logging.html is in libxkbcommon-dev 0.8.0-1ubuntu0.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libxkbcommon: Logging Handling</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="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-extra.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">libxkbcommon
 <span id="projectnumber">0.8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Logging Handling</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga6f345bcb71a7f68c53ab93ec3698ed35"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> { <br />
  <a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35a1e80d86459fc93c4636c3a9b1289bca0">XKB_LOG_LEVEL_CRITICAL</a> = 10,
<br />
  <a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35a09ff197e318534efe61dd48c29cb690f">XKB_LOG_LEVEL_ERROR</a> = 20,
<br />
  <a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35ab7448e4d3303efe7ed392b50acc38816">XKB_LOG_LEVEL_WARNING</a> = 30,
<br />
  <a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35aa70f811301fcaff421d979461ae8a485">XKB_LOG_LEVEL_INFO</a> = 40,
<br />
  <a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35aab7c90eb9df48ca2842e59f5f588cec4">XKB_LOG_LEVEL_DEBUG</a> = 50
<br />
}</td></tr>
<tr class="separator:ga6f345bcb71a7f68c53ab93ec3698ed35"><td class="memSeparator" colspan="2"> </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:ga5577f09c6731e0cd4e7a04533c8e98d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga5577f09c6731e0cd4e7a04533c8e98d9">xkb_context::xkb_context_set_log_level</a> (struct <a class="el" href="structxkb__context.html">xkb_context</a> *context, enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> level)</td></tr>
<tr class="separator:ga5577f09c6731e0cd4e7a04533c8e98d9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad2105a58a9c394399f919262fa9dbfc2"><td class="memItemLeft" align="right" valign="top"><a id="gad2105a58a9c394399f919262fa9dbfc2"></a>
enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#gad2105a58a9c394399f919262fa9dbfc2">xkb_context::xkb_context_get_log_level</a> (struct <a class="el" href="structxkb__context.html">xkb_context</a> *context)</td></tr>
<tr class="separator:gad2105a58a9c394399f919262fa9dbfc2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7ca5e54b5d6d39461679a360f4c3f418"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga7ca5e54b5d6d39461679a360f4c3f418">xkb_context::xkb_context_set_log_verbosity</a> (struct <a class="el" href="structxkb__context.html">xkb_context</a> *context, int verbosity)</td></tr>
<tr class="separator:ga7ca5e54b5d6d39461679a360f4c3f418"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3eeb2c76ee7bf27c0db4076a72508167"><td class="memItemLeft" align="right" valign="top"><a id="ga3eeb2c76ee7bf27c0db4076a72508167"></a>
int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga3eeb2c76ee7bf27c0db4076a72508167">xkb_context::xkb_context_get_log_verbosity</a> (struct <a class="el" href="structxkb__context.html">xkb_context</a> *context)</td></tr>
<tr class="separator:ga3eeb2c76ee7bf27c0db4076a72508167"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga52d8ebc2e0025ff6b6c57cda73b08d8e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga52d8ebc2e0025ff6b6c57cda73b08d8e">xkb_context::xkb_context_set_log_fn</a> (struct <a class="el" href="structxkb__context.html">xkb_context</a> *context, void(*log_fn)(struct <a class="el" href="structxkb__context.html">xkb_context</a> *context, enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> level, const char *format, va_list args))</td></tr>
<tr class="separator:ga52d8ebc2e0025ff6b6c57cda73b08d8e"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Manipulating how logging from this library is handled. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga6f345bcb71a7f68c53ab93ec3698ed35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6f345bcb71a7f68c53ab93ec3698ed35">◆ </a></span>xkb_log_level</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Specifies a logging level. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga6f345bcb71a7f68c53ab93ec3698ed35a1e80d86459fc93c4636c3a9b1289bca0"></a>XKB_LOG_LEVEL_CRITICAL </td><td class="fielddoc"><p>Log critical internal errors only. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6f345bcb71a7f68c53ab93ec3698ed35a09ff197e318534efe61dd48c29cb690f"></a>XKB_LOG_LEVEL_ERROR </td><td class="fielddoc"><p>Log all errors. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6f345bcb71a7f68c53ab93ec3698ed35ab7448e4d3303efe7ed392b50acc38816"></a>XKB_LOG_LEVEL_WARNING </td><td class="fielddoc"><p>Log warnings and errors. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6f345bcb71a7f68c53ab93ec3698ed35aa70f811301fcaff421d979461ae8a485"></a>XKB_LOG_LEVEL_INFO </td><td class="fielddoc"><p>Log information, warnings, and errors. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6f345bcb71a7f68c53ab93ec3698ed35aab7c90eb9df48ca2842e59f5f588cec4"></a>XKB_LOG_LEVEL_DEBUG </td><td class="fielddoc"><p>Log everything. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga5577f09c6731e0cd4e7a04533c8e98d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5577f09c6731e0cd4e7a04533c8e98d9">◆ </a></span>xkb_context_set_log_level()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xkb_context_set_log_level </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structxkb__context.html">xkb_context</a> * </td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> </td>
<td class="paramname"><em>level</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the current logging level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The context in which to set the logging level. </td></tr>
<tr><td class="paramname">level</td><td>The logging level to use. Only messages from this level and below will be logged.</td></tr>
</table>
</dd>
</dl>
<p>The default level is XKB_LOG_LEVEL_ERROR. The environment variable XKB_LOG_LEVEL, if set in the time the context was created, overrides the default value. It may be specified as a level number or name. </p>
</div>
</div>
<a id="ga7ca5e54b5d6d39461679a360f4c3f418"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ca5e54b5d6d39461679a360f4c3f418">◆ </a></span>xkb_context_set_log_verbosity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xkb_context_set_log_verbosity </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structxkb__context.html">xkb_context</a> * </td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>verbosity</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the current logging verbosity. </p>
<p>The library can generate a number of warnings which are not helpful to ordinary users of the library. The verbosity may be increased if more information is desired (e.g. when developing a new keymap).</p>
<p>The default verbosity is 0. The environment variable XKB_LOG_VERBOSITY, if set in the time the context was created, overrides the default value.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The context in which to use the set verbosity. </td></tr>
<tr><td class="paramname">verbosity</td><td>The verbosity to use. Currently used values are 1 to 10, higher values being more verbose. 0 would result in no verbose messages being logged.</td></tr>
</table>
</dd>
</dl>
<p>Most verbose messages are of level XKB_LOG_LEVEL_WARNING or lower. </p>
</div>
</div>
<a id="ga52d8ebc2e0025ff6b6c57cda73b08d8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52d8ebc2e0025ff6b6c57cda73b08d8e">◆ </a></span>xkb_context_set_log_fn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xkb_context_set_log_fn </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structxkb__context.html">xkb_context</a> * </td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(*)(struct <a class="el" href="structxkb__context.html">xkb_context</a> *context, enum <a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> level, const char *format, va_list args) </td>
<td class="paramname"><em>log_fn</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a custom function to handle logging messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The context in which to use the set logging function. </td></tr>
<tr><td class="paramname">log_fn</td><td>The function that will be called for logging messages. Passing NULL restores the default function, which logs to stderr.</td></tr>
</table>
</dd>
</dl>
<p>By default, log messages from this library are printed to stderr. This function allows you to replace the default behavior with a custom handler. The handler is only called with messages which match the current logging level and verbosity settings for the context. level is the logging level of the message. <em>format</em> and <em>args</em> are the same as in the vprintf(3) function.</p>
<p>You may use <a class="el" href="group__context.html#gaf4c113ff9c46fbf5083c0684c7cdad08" title="Store custom user data in the context. ">xkb_context_set_user_data()</a> on the context, and then call <a class="el" href="group__context.html#ga0ca68921be9faf45ff24d33ffd36f2ab" title="Retrieves stored user data from the context. ">xkb_context_get_user_data()</a> from within the logging function to provide it with additional private context. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
|