docs/api-2.1/logging_8h_source.html

Sun, 22 Dec 2024 22:10:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 22 Dec 2024 22:10:04 +0100
changeset 1047
40aad3f0bc9e
parent 390
d345541018fa
permissions
-rw-r--r--

don't trust that size_t always has word width

it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case

390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 <html xmlns="http://www.w3.org/1999/xhtml">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 <head>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 <meta name="generator" content="Doxygen 1.8.13"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 <title>ucx: /home/mike/workspace/c/ucx/src/ucx/logging.h Source File</title>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 <script type="text/javascript" src="jquery.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 <script type="text/javascript" src="dynsections.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 <script type="text/javascript" src="search/searchdata.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 <script type="text/javascript" src="search/search.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 </head>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 <body>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 <div id="titlearea">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 <table cellspacing="0" cellpadding="0">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 <tbody>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 <tr style="height: 56px;">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 <td id="projectalign" style="padding-left: 0.5em;">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 <div id="projectname">ucx
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27 <div id="projectbrief">UAP Common Extensions</div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 </td>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 </tr>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30 </tbody>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
31 </table>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
32 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
33 <!-- end header part -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34 <!-- Generated by Doxygen 1.8.13 -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
35 <script type="text/javascript">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
37 </script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
38 <script type="text/javascript" src="menudata.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
39 <script type="text/javascript" src="menu.js"></script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
40 <script type="text/javascript">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
41 $(function() {
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42 initMenu('',true,false,'search.php','Search');
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
43 $(document).ready(function() { init_search(); });
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
44 });
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
45 </script>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
46 <div id="main-nav"></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
47 <!-- window showing the filter options -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
48 <div id="MSearchSelectWindow"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
49 onmouseover="return searchBox.OnSearchSelectShow()"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
50 onmouseout="return searchBox.OnSearchSelectHide()"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
51 onkeydown="return searchBox.OnSearchSelectKey(event)">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
52 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
53
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54 <!-- iframe showing the search results (closed by default) -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
55 <div id="MSearchResultsWindow">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
56 <iframe src="javascript:void(0)" frameborder="0"
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
57 name="MSearchResults" id="MSearchResults">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58 </iframe>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
59 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
60
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
61 <div id="nav-path" class="navpath">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
62 <ul>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
63 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_69f4ea29401808fe6229564976cde3ce.html">ucx</a></li> </ul>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
64 </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
65 </div><!-- top -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
66 <div class="header">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
67 <div class="headertitle">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
68 <div class="title">logging.h</div> </div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
69 </div><!--header-->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
70 <div class="contents">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
71 <a href="logging_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright 2017 Mike Becker, Olaf Wintermann All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef UCX_LOGGING_H</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#define UCX_LOGGING_H</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ucx_8h.html">ucx.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="map_8h.html">map.h</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="string_8h.html">string.h</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">/* leave enough space for custom log levels */</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="logging_8h.html#aa254c07fe3a907613e2256a318d5c9a8"> 49</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_ERROR 0x00</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="logging_8h.html#abd01ca11486226ba34e8f7028d9fffba"> 52</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_WARN 0x10</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="logging_8h.html#a4b0178bf60a6129373ffc59114ca4c9b"> 55</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_INFO 0x20</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="logging_8h.html#acff01d1ef919ea997cfce755fc1b83d8"> 58</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_DEBUG 0x30</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="logging_8h.html#a55b88d1fec7036d841b3ddd6195c5586"> 61</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_TRACE 0x40</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="logging_8h.html#aee18bc20e58ffb69910121512c350839"> 68</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_LEVEL 0x01</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="logging_8h.html#a38607008268b4f776ee500fb95d2e823"> 75</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_TIMESTAMP 0x02</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="logging_8h.html#a0e0d72b12616c1e49ff8834eaf4cb8a2"> 83</a></span>&#160;<span class="preprocessor">#define UCX_LOGGER_SOURCE 0x04</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structUcxLogger.html"> 88</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structUcxLogger.html#a33fddf4791e8d49e479ecc78bf5d1b9e"> 90</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="structUcxLogger.html#a33fddf4791e8d49e479ecc78bf5d1b9e">stream</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structUcxLogger.html#ada13bba090a9dc4f8d6cd9be73c60930"> 97</a></span>&#160; <a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> <a class="code" href="structUcxLogger.html#ada13bba090a9dc4f8d6cd9be73c60930">writer</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structUcxLogger.html#a086f75df0f6c81ec491f25c0a4d9262b"> 104</a></span>&#160; <span class="keywordtype">char</span> *<a class="code" href="structUcxLogger.html#a086f75df0f6c81ec491f25c0a4d9262b">dateformat</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structUcxLogger.html#a2e0ee94c25b2307096c7970280d189cd"> 111</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structUcxLogger.html#a2e0ee94c25b2307096c7970280d189cd">level</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structUcxLogger.html#a1de0db2e02dcf03366268f6943f8b97c"> 119</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structUcxLogger.html#a1de0db2e02dcf03366268f6943f8b97c">mask</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structUcxLogger.html#a187129f7bc6e5064b3d92a5f1217f396"> 132</a></span>&#160; <a class="code" href="structUcxMap.html">UcxMap</a>* <a class="code" href="structUcxLogger.html#a187129f7bc6e5064b3d92a5f1217f396">levels</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;} <a class="code" href="structUcxLogger.html">UcxLogger</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<a class="code" href="structUcxLogger.html">UcxLogger</a> *<a class="code" href="logging_8h.html#ac560f8517d2172794c9d2691735ec48c">ucx_logger_new</a>(<span class="keywordtype">void</span> *stream, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> level, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mask);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keywordtype">void</span> <a class="code" href="logging_8h.html#ac4697b784e01ec990d2acea192e21658">ucx_logger_free</a>(<a class="code" href="structUcxLogger.html">UcxLogger</a>* logger);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="keywordtype">void</span> <a class="code" href="logging_8h.html#ac337e5d02ebea565012d4c11bd643801">ucx_logger_logf</a>(<a class="code" href="structUcxLogger.html">UcxLogger</a> *logger, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> level, <span class="keyword">const</span> <span class="keywordtype">char</span>* file,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="logging_8h.html#a5cffc19502c4c90bfb3bd3bbcd18170a"> 185</a></span>&#160;<span class="preprocessor">#define ucx_logger_register_level(logger, level, name) {\</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor"> unsigned int l; \</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="preprocessor"> l = level; \</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor"> ucx_map_int_put(logger-&gt;levels, l, (void*) &quot;[&quot; name &quot;]&quot;); \</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="preprocessor"> } while (0);</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="logging_8h.html#aa0245325031d95799b28def177fd14ec"> 198</a></span>&#160;<span class="preprocessor">#define ucx_logger_log(logger, level, ...) \</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="preprocessor"> ucx_logger_logf(logger, level, __FILE__, __LINE__, __VA_ARGS__)</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="logging_8h.html#a6a9e472e14d6768e59d96d245e065397"> 207</a></span>&#160;<span class="preprocessor">#define ucx_logger_error(logger, ...) \</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor"> ucx_logger_log(logger, UCX_LOGGER_ERROR, __VA_ARGS__)</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="logging_8h.html#a98464d8d51376ce2716dcc4eca00d5da"> 216</a></span>&#160;<span class="preprocessor">#define ucx_logger_info(logger, ...) \</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="preprocessor"> ucx_logger_log(logger, UCX_LOGGER_INFO, __VA_ARGS__)</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="logging_8h.html#aca7bd861b646892813fd7310c0aa69af"> 225</a></span>&#160;<span class="preprocessor">#define ucx_logger_warn(logger, ...) \</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="preprocessor"> ucx_logger_log(logger, UCX_LOGGER_WARN, __VA_ARGS__)</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="logging_8h.html#a2936402799892db5138e5f1f8c25db0c"> 234</a></span>&#160;<span class="preprocessor">#define ucx_logger_debug(logger, ...) \</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="preprocessor"> ucx_logger_log(logger, UCX_LOGGER_DEBUG, __VA_ARGS__)</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="logging_8h.html#a3031b7ff13f4cfae9c2916543be2877c"> 243</a></span>&#160;<span class="preprocessor">#define ucx_logger_trace(logger, ...) \</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="preprocessor"> ucx_logger_log(logger, UCX_LOGGER_TRACE, __VA_ARGS__)</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* UCX_LOGGING_H */</span><span class="preprocessor"></span></div><div class="ttc" id="structUcxLogger_html_ada13bba090a9dc4f8d6cd9be73c60930"><div class="ttname"><a href="structUcxLogger.html#ada13bba090a9dc4f8d6cd9be73c60930">UcxLogger::writer</a></div><div class="ttdeci">write_func writer</div><div class="ttdoc">The write function that shall be used. </div><div class="ttdef"><b>Definition:</b> logging.h:97</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
72 <div class="ttc" id="string_8h_html"><div class="ttname"><a href="string_8h.html">string.h</a></div><div class="ttdoc">Bounded string implementation. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
73 <div class="ttc" id="ucx_8h_html"><div class="ttname"><a href="ucx_8h.html">ucx.h</a></div><div class="ttdoc">Main UCX Header providing most common definitions. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
74 <div class="ttc" id="structUcxLogger_html"><div class="ttname"><a href="structUcxLogger.html">UcxLogger</a></div><div class="ttdoc">The UCX Logger object. </div><div class="ttdef"><b>Definition:</b> logging.h:88</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
75 <div class="ttc" id="structUcxLogger_html_a086f75df0f6c81ec491f25c0a4d9262b"><div class="ttname"><a href="structUcxLogger.html#a086f75df0f6c81ec491f25c0a4d9262b">UcxLogger::dateformat</a></div><div class="ttdeci">char * dateformat</div><div class="ttdoc">The date format for timestamp outputs including the delimiter (default: &quot;%F %T %z &quot;)...</div><div class="ttdef"><b>Definition:</b> logging.h:104</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
76 <div class="ttc" id="structUcxLogger_html_a1de0db2e02dcf03366268f6943f8b97c"><div class="ttname"><a href="structUcxLogger.html#a1de0db2e02dcf03366268f6943f8b97c">UcxLogger::mask</a></div><div class="ttdeci">unsigned int mask</div><div class="ttdoc">A configuration mask for automatic output. </div><div class="ttdef"><b>Definition:</b> logging.h:119</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
77 <div class="ttc" id="logging_8h_html_ac560f8517d2172794c9d2691735ec48c"><div class="ttname"><a href="logging_8h.html#ac560f8517d2172794c9d2691735ec48c">ucx_logger_new</a></div><div class="ttdeci">UcxLogger * ucx_logger_new(void *stream, unsigned int level, unsigned int mask)</div><div class="ttdoc">Creates a new logger. </div><div class="ttdef"><b>Definition:</b> logging.c:36</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
78 <div class="ttc" id="structUcxLogger_html_a33fddf4791e8d49e479ecc78bf5d1b9e"><div class="ttname"><a href="structUcxLogger.html#a33fddf4791e8d49e479ecc78bf5d1b9e">UcxLogger::stream</a></div><div class="ttdeci">void * stream</div><div class="ttdoc">The stream this logger writes its messages to. </div><div class="ttdef"><b>Definition:</b> logging.h:90</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
79 <div class="ttc" id="structUcxMap_html"><div class="ttname"><a href="structUcxMap.html">UcxMap</a></div><div class="ttdoc">Structure for the UCX map. </div><div class="ttdef"><b>Definition:</b> map.h:81</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
80 <div class="ttc" id="map_8h_html"><div class="ttname"><a href="map_8h.html">map.h</a></div><div class="ttdoc">Hash map implementation. </div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
81 <div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
82 <div class="ttc" id="structUcxLogger_html_a187129f7bc6e5064b3d92a5f1217f396"><div class="ttname"><a href="structUcxLogger.html#a187129f7bc6e5064b3d92a5f1217f396">UcxLogger::levels</a></div><div class="ttdeci">UcxMap * levels</div><div class="ttdoc">A map of valid log levels for this logger. </div><div class="ttdef"><b>Definition:</b> logging.h:132</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
83 <div class="ttc" id="structUcxLogger_html_a2e0ee94c25b2307096c7970280d189cd"><div class="ttname"><a href="structUcxLogger.html#a2e0ee94c25b2307096c7970280d189cd">UcxLogger::level</a></div><div class="ttdeci">unsigned int level</div><div class="ttdoc">The level, this logger operates on. </div><div class="ttdef"><b>Definition:</b> logging.h:111</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
84 <div class="ttc" id="logging_8h_html_ac337e5d02ebea565012d4c11bd643801"><div class="ttname"><a href="logging_8h.html#ac337e5d02ebea565012d4c11bd643801">ucx_logger_logf</a></div><div class="ttdeci">void ucx_logger_logf(UcxLogger *logger, unsigned int level, const char *file, const unsigned int line, const char *format,...)</div><div class="ttdoc">Internal log function - use macros instead. </div><div class="ttdef"><b>Definition:</b> logging.c:70</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
85 <div class="ttc" id="logging_8h_html_ac4697b784e01ec990d2acea192e21658"><div class="ttname"><a href="logging_8h.html#ac4697b784e01ec990d2acea192e21658">ucx_logger_free</a></div><div class="ttdeci">void ucx_logger_free(UcxLogger *logger)</div><div class="ttdoc">Destroys the logger. </div><div class="ttdef"><b>Definition:</b> logging.c:62</div></div>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
86 </div><!-- fragment --></div><!-- contents -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
87 <!-- start footer part -->
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
88 <hr class="footer"/><address class="footer"><small>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
89 Generated on Thu Dec 19 2019 19:58:24 for ucx by &#160;<a href="http://www.doxygen.org/index.html">
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
90 <img class="footer" src="doxygen.png" alt="doxygen"/>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
91 </a> 1.8.13
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
92 </small></address>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
93 </body>
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
diff changeset
94 </html>

mercurial