~ubuntu-branches/debian/squeeze/glib2.0/squeeze

« back to all changes in this revision

Viewing changes to docs/reference/glib/html/glib-Message-Logging.html

  • Committer: Bazaar Package Importer
  • Author(s): Gustavo Noronha Silva
  • Date: 2009-02-15 13:00:43 UTC
  • mfrom: (1.3.1 upstream) (69.1.10 intrepid)
  • Revision ID: james.westby@ubuntu.com-20090215130043-q47fbt3owmt42m2f
Tags: 2.18.4-2
* Release to unstable
* debian/rules:
- bump SHVER, since we are already forcing a 2.18.0 dependecy on the
  symbols introduced in the development versions
* debian/control.in:
- added Homepage and Vcs-* control fields

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html>
3
3
<head>
4
 
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Message Logging</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
 
<link rel="start" href="index.html" title="GLib Reference Manual">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 
7
<link rel="home" href="index.html" title="GLib Reference Manual">
8
8
<link rel="up" href="glib-core.html" title="GLib Core Application Support">
9
9
<link rel="prev" href="glib-Warnings-and-Assertions.html" title="Message Output and Debugging Functions">
10
10
<link rel="next" href="glib-utilities.html" title="GLib Utilities">
11
 
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="glib.html" title="GLib Overview">
14
14
<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
26
26
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">
27
27
<link rel="index" href="ix09.html" title="Index of new symbols in 2.14">
28
28
<link rel="index" href="ix10.html" title="Index of new symbols in 2.16">
 
29
<link rel="index" href="ix11.html" title="Index of new symbols in 2.18">
29
30
</head>
30
31
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
31
32
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
36
37
<th width="100%" align="center">GLib Reference Manual</th>
37
38
<td><a accesskey="n" href="glib-utilities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
38
39
</tr>
39
 
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3013606" class="shortcut">Top</a>
40
 
                  &#160;|&#160;
41
 
                  <a href="#id3014042" class="shortcut">Description</a></nobr></td></tr>
 
40
<tr><td colspan="5" class="shortcuts">
 
41
<a href="#glib-Message-Logging.synopsis" class="shortcut">Top</a>
 
42
                 | 
 
43
                <a href="#glib-Message-Logging.description" class="shortcut">Description</a>
 
44
</td></tr>
42
45
</table>
43
46
<div class="refentry" lang="en">
44
47
<a name="glib-Message-Logging"></a><div class="titlepage"></div>
45
48
<div class="refnamediv"><table width="100%"><tr>
46
49
<td valign="top">
47
 
<h2>
48
 
<a name="id3013606"></a><span class="refentrytitle">Message Logging</span>
49
 
</h2>
50
 
<p>Message Logging &#8212; versatile support for logging messages with different levels of importance</p>
 
50
<h2><span class="refentrytitle"><a name="glib-Message-Logging.top_of_page"></a>Message Logging</span></h2>
 
51
<p>Message Logging — versatile support for logging messages with different levels of importance</p>
51
52
</td>
52
53
<td valign="top" align="right"></td>
53
54
</tr></table></div>
54
55
<div class="refsynopsisdiv">
55
 
<h2>Synopsis</h2>
 
56
<a name="glib-Message-Logging.synopsis"></a><h2>Synopsis</h2>
56
57
<pre class="synopsis">
57
58
 
58
59
#include &lt;glib.h&gt;
59
60
 
60
 
 
61
 
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-DOMAIN:CAPS">G_LOG_DOMAIN</a>
62
 
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-FATAL-MASK:CAPS">G_LOG_FATAL_MASK</a>
63
 
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-USER-SHIFT:CAPS">G_LOG_LEVEL_USER_SHIFT</a>
64
 
void                (<a class="link" href="glib-Message-Logging.html#GLogFunc">*GLogFunc</a>)                         (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
65
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
66
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
67
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);
68
 
enum                <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a>;
69
 
 
70
 
void                <a class="link" href="glib-Message-Logging.html#g-log">g_log</a>                               (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
71
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
72
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
 
61
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-DOMAIN--CAPS" title="G_LOG_DOMAIN">G_LOG_DOMAIN</a>
 
62
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-FATAL-MASK--CAPS" title="G_LOG_FATAL_MASK">G_LOG_FATAL_MASK</a>
 
63
#define             <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-USER-SHIFT--CAPS" title="G_LOG_LEVEL_USER_SHIFT">G_LOG_LEVEL_USER_SHIFT</a>
 
64
void                (<a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">*GLogFunc</a>)                         (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
65
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
66
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
 
67
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);
 
68
enum                <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a>;
 
69
 
 
70
void                <a class="link" href="glib-Message-Logging.html#g-log" title="g_log ()">g_log</a>                               (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
71
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
72
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
73
73
                                                         ...);
74
 
void                <a class="link" href="glib-Message-Logging.html#g-logv">g_logv</a>                              (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
75
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
76
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
 
74
void                <a class="link" href="glib-Message-Logging.html#g-logv" title="g_logv ()">g_logv</a>                              (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
75
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
76
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
77
77
                                                         va_list args);
78
 
#define             <a class="link" href="glib-Message-Logging.html#g-message">g_message</a>                           (...)
79
 
#define             <a class="link" href="glib-Message-Logging.html#g-warning">g_warning</a>                           (...)
80
 
#define             <a class="link" href="glib-Message-Logging.html#g-critical">g_critical</a>                          (...)
81
 
#define             <a class="link" href="glib-Message-Logging.html#g-error">g_error</a>                             (...)
82
 
#define             <a class="link" href="glib-Message-Logging.html#g-debug">g_debug</a>                             (...)
 
78
#define             <a class="link" href="glib-Message-Logging.html#g-message" title="g_message()">g_message</a>                           (...)
 
79
#define             <a class="link" href="glib-Message-Logging.html#g-warning" title="g_warning()">g_warning</a>                           (...)
 
80
#define             <a class="link" href="glib-Message-Logging.html#g-critical" title="g_critical()">g_critical</a>                          (...)
 
81
#define             <a class="link" href="glib-Message-Logging.html#g-error" title="g_error()">g_error</a>                             (...)
 
82
#define             <a class="link" href="glib-Message-Logging.html#g-debug" title="g_debug()">g_debug</a>                             (...)
83
83
 
84
 
<a class="link" href="glib-Basic-Types.html#guint">guint</a>               <a class="link" href="glib-Message-Logging.html#g-log-set-handler">g_log_set_handler</a>                   (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
85
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_levels,
86
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a> log_func,
87
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);
88
 
void                <a class="link" href="glib-Message-Logging.html#g-log-remove-handler">g_log_remove_handler</a>                (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
89
 
                                                         <a class="link" href="glib-Basic-Types.html#guint">guint</a> handler_id);
90
 
<a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a>      <a class="link" href="glib-Message-Logging.html#g-log-set-always-fatal">g_log_set_always_fatal</a>              (<a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> fatal_mask);
91
 
<a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a>      <a class="link" href="glib-Message-Logging.html#g-log-set-fatal-mask">g_log_set_fatal_mask</a>                (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
92
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> fatal_mask);
93
 
void                <a class="link" href="glib-Message-Logging.html#g-log-default-handler">g_log_default_handler</a>               (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
94
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
95
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
96
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> unused_data);
97
 
<a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a>            <a class="link" href="glib-Message-Logging.html#g-log-set-default-handler">g_log_set_default_handler</a>           (<a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a> log_func,
98
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);
 
84
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a>               <a class="link" href="glib-Message-Logging.html#g-log-set-handler" title="g_log_set_handler ()">g_log_set_handler</a>                   (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
85
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_levels,
 
86
                                                         <a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a> log_func,
 
87
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);
 
88
void                <a class="link" href="glib-Message-Logging.html#g-log-remove-handler" title="g_log_remove_handler ()">g_log_remove_handler</a>                (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
89
                                                         <a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> handler_id);
 
90
<a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a>      <a class="link" href="glib-Message-Logging.html#g-log-set-always-fatal" title="g_log_set_always_fatal ()">g_log_set_always_fatal</a>              (<a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> fatal_mask);
 
91
<a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a>      <a class="link" href="glib-Message-Logging.html#g-log-set-fatal-mask" title="g_log_set_fatal_mask ()">g_log_set_fatal_mask</a>                (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
92
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> fatal_mask);
 
93
void                <a class="link" href="glib-Message-Logging.html#g-log-default-handler" title="g_log_default_handler ()">g_log_default_handler</a>               (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
94
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
95
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
 
96
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> unused_data);
 
97
<a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a>            <a class="link" href="glib-Message-Logging.html#g-log-set-default-handler" title="g_log_set_default_handler ()">g_log_set_default_handler</a>           (<a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a> log_func,
 
98
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);
99
99
</pre>
100
100
</div>
101
101
<div class="refsect1" lang="en">
102
 
<a name="id3014042"></a><h2>Description</h2>
 
102
<a name="glib-Message-Logging.description"></a><h2>Description</h2>
103
103
<p>
104
 
These functions provide support for logging error messages or messages 
105
 
used for debugging. 
 
104
These functions provide support for logging error messages or messages
 
105
used for debugging.
106
106
</p>
107
107
<p>
108
 
There are several built-in levels of messages, defined in <a class="link" href="glib-Message-Logging.html#GLogLevelFlags"><span class="type">GLogLevelFlags</span></a>.
 
108
There are several built-in levels of messages, defined in <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags"><span class="type">GLogLevelFlags</span></a>.
109
109
These can be extended with user-defined levels.
110
110
</p>
111
111
</div>
112
112
<div class="refsect1" lang="en">
113
 
<a name="id3014072"></a><h2>Details</h2>
 
113
<a name="glib-Message-Logging.details"></a><h2>Details</h2>
114
114
<div class="refsect2" lang="en">
115
 
<a name="id3014082"></a><h3>
116
 
<a name="G-LOG-DOMAIN:CAPS"></a>G_LOG_DOMAIN</h3>
117
 
<a class="indexterm" name="id3014095"></a><pre class="programlisting">#define G_LOG_DOMAIN    ((gchar*) 0)
 
115
<a name="G-LOG-DOMAIN--CAPS"></a><h3>G_LOG_DOMAIN</h3>
 
116
<pre class="programlisting">#define G_LOG_DOMAIN    ((gchar*) 0)
118
117
</pre>
119
118
<p>
120
119
Defines the log domain.
121
 
For applications, this is typically left as the default <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (or "") domain.
 
120
For applications, this is typically left as the default <a class="link" href="glib-Standard-Macros.html#NULL--CAPS" title="NULL"><code class="literal">NULL</code></a> (or "") domain.
122
121
Libraries should define this so that any messages which they log can
123
122
be differentiated from messages from other libraries and application code.
124
123
But be careful not to define it in any public header files.
132
131
</div>
133
132
<hr>
134
133
<div class="refsect2" lang="en">
135
 
<a name="id3014137"></a><h3>
136
 
<a name="G-LOG-FATAL-MASK:CAPS"></a>G_LOG_FATAL_MASK</h3>
137
 
<a class="indexterm" name="id3014151"></a><pre class="programlisting">#define G_LOG_FATAL_MASK        (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
 
134
<a name="G-LOG-FATAL-MASK--CAPS"></a><h3>G_LOG_FATAL_MASK</h3>
 
135
<pre class="programlisting">#define G_LOG_FATAL_MASK        (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
138
136
</pre>
139
137
<p>
140
138
GLib log levels that are considered fatal by default.
142
140
</div>
143
141
<hr>
144
142
<div class="refsect2" lang="en">
145
 
<a name="id3014168"></a><h3>
146
 
<a name="G-LOG-LEVEL-USER-SHIFT:CAPS"></a>G_LOG_LEVEL_USER_SHIFT</h3>
147
 
<a class="indexterm" name="id3014181"></a><pre class="programlisting">#define G_LOG_LEVEL_USER_SHIFT  (8)
 
143
<a name="G-LOG-LEVEL-USER-SHIFT--CAPS"></a><h3>G_LOG_LEVEL_USER_SHIFT</h3>
 
144
<pre class="programlisting">#define G_LOG_LEVEL_USER_SHIFT  (8)
148
145
</pre>
149
146
<p>
150
147
Log level shift offset for user defined log levels (0-7 are used by GLib).
152
149
</div>
153
150
<hr>
154
151
<div class="refsect2" lang="en">
155
 
<a name="id3014198"></a><h3>
156
 
<a name="GLogFunc"></a>GLogFunc ()</h3>
157
 
<a class="indexterm" name="id3014211"></a><pre class="programlisting">void                (*GLogFunc)                         (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
158
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
159
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
160
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);</pre>
 
152
<a name="GLogFunc"></a><h3>GLogFunc ()</h3>
 
153
<pre class="programlisting">void                (*GLogFunc)                         (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
154
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
155
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
 
156
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);</pre>
161
157
<p>
162
158
Specifies the prototype of log handler functions.
163
159
</p>
165
161
<col align="left" valign="top">
166
162
<tbody>
167
163
<tr>
168
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
 
164
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
169
165
<td>the log domain of the message.
170
166
</td>
171
167
</tr>
172
168
<tr>
173
 
<td><p><span class="term"><em class="parameter"><code>log_level</code></em>&#160;:</span></p></td>
 
169
<td><p><span class="term"><em class="parameter"><code>log_level</code></em> :</span></p></td>
174
170
<td>the log level of the message (including the fatal and recursion
175
171
flags).
176
172
</td>
177
173
</tr>
178
174
<tr>
179
 
<td><p><span class="term"><em class="parameter"><code>message</code></em>&#160;:</span></p></td>
 
175
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
180
176
<td>the message to process.
181
177
</td>
182
178
</tr>
183
179
<tr>
184
 
<td><p><span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></p></td>
185
 
<td>user data, set in <a class="link" href="glib-Message-Logging.html#g-log-set-handler"><code class="function">g_log_set_handler()</code></a>.
186
 
 
187
 
 
 
180
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
181
<td>user data, set in <a class="link" href="glib-Message-Logging.html#g-log-set-handler" title="g_log_set_handler ()"><code class="function">g_log_set_handler()</code></a>.
188
182
</td>
189
183
</tr>
190
184
</tbody>
192
186
</div>
193
187
<hr>
194
188
<div class="refsect2" lang="en">
195
 
<a name="id3014336"></a><h3>
196
 
<a name="GLogLevelFlags"></a>enum GLogLevelFlags</h3>
197
 
<a class="indexterm" name="id3014349"></a><pre class="programlisting">typedef enum
 
189
<a name="GLogLevelFlags"></a><h3>enum GLogLevelFlags</h3>
 
190
<pre class="programlisting">typedef enum
198
191
{
199
192
  /* log flags */
200
193
  G_LOG_FLAG_RECURSION          = 1 &lt;&lt; 0,
213
206
</pre>
214
207
<p>
215
208
Flags specifying the level of log messages. It is possible to change
216
 
how GLib treats messages of the various levels using <a class="link" href="glib-Message-Logging.html#g-log-set-handler"><code class="function">g_log_set_handler()</code></a>
217
 
and <a class="link" href="glib-Message-Logging.html#g-log-set-fatal-mask"><code class="function">g_log_set_fatal_mask()</code></a>.
 
209
how GLib treats messages of the various levels using <a class="link" href="glib-Message-Logging.html#g-log-set-handler" title="g_log_set_handler ()"><code class="function">g_log_set_handler()</code></a>
 
210
and <a class="link" href="glib-Message-Logging.html#g-log-set-fatal-mask" title="g_log_set_fatal_mask ()"><code class="function">g_log_set_fatal_mask()</code></a>.
218
211
</p>
219
212
<div class="variablelist"><table border="0">
220
213
<col align="left" valign="top">
221
214
<tbody>
222
215
<tr>
223
 
<td><p><span class="term"><a name="G-LOG-FLAG-RECURSION:CAPS"></a><code class="literal">G_LOG_FLAG_RECURSION</code></span></p></td>
224
 
<td>internal flag
225
 
</td>
226
 
</tr>
227
 
<tr>
228
 
<td><p><span class="term"><a name="G-LOG-FLAG-FATAL:CAPS"></a><code class="literal">G_LOG_FLAG_FATAL</code></span></p></td>
229
 
<td>internal flag
230
 
</td>
231
 
</tr>
232
 
<tr>
233
 
<td><p><span class="term"><a name="G-LOG-LEVEL-ERROR:CAPS"></a><code class="literal">G_LOG_LEVEL_ERROR</code></span></p></td>
234
 
<td>log level for errors, see <a class="link" href="glib-Message-Logging.html#g-error"><code class="function">g_error()</code></a>. 
235
 
  This level is also used for messages produced by <a class="link" href="glib-Testing.html#g-assert"><code class="function">g_assert()</code></a>.
236
 
</td>
237
 
</tr>
238
 
<tr>
239
 
<td><p><span class="term"><a name="G-LOG-LEVEL-CRITICAL:CAPS"></a><code class="literal">G_LOG_LEVEL_CRITICAL</code></span></p></td>
240
 
<td>log level for critical messages, see <a class="link" href="glib-Message-Logging.html#g-critical"><code class="function">g_critical()</code></a>.
241
 
  This level is also used for messages produced by <a class="link" href="glib-Warnings-and-Assertions.html#g-return-if-fail"><code class="function">g_return_if_fail()</code></a> and 
242
 
  <a class="link" href="glib-Warnings-and-Assertions.html#g-return-val-if-fail"><code class="function">g_return_val_if_fail()</code></a>.
243
 
</td>
244
 
</tr>
245
 
<tr>
246
 
<td><p><span class="term"><a name="G-LOG-LEVEL-WARNING:CAPS"></a><code class="literal">G_LOG_LEVEL_WARNING</code></span></p></td>
247
 
<td>log level for warnings, see <a class="link" href="glib-Message-Logging.html#g-warning"><code class="function">g_warning()</code></a>
248
 
</td>
249
 
</tr>
250
 
<tr>
251
 
<td><p><span class="term"><a name="G-LOG-LEVEL-MESSAGE:CAPS"></a><code class="literal">G_LOG_LEVEL_MESSAGE</code></span></p></td>
252
 
<td>log level for messages, see <a class="link" href="glib-Message-Logging.html#g-message"><code class="function">g_message()</code></a>
253
 
</td>
254
 
</tr>
255
 
<tr>
256
 
<td><p><span class="term"><a name="G-LOG-LEVEL-INFO:CAPS"></a><code class="literal">G_LOG_LEVEL_INFO</code></span></p></td>
 
216
<td><p><a name="G-LOG-FLAG-RECURSION--CAPS"></a><span class="term"><code class="literal">G_LOG_FLAG_RECURSION</code></span></p></td>
 
217
<td>internal flag
 
218
</td>
 
219
</tr>
 
220
<tr>
 
221
<td><p><a name="G-LOG-FLAG-FATAL--CAPS"></a><span class="term"><code class="literal">G_LOG_FLAG_FATAL</code></span></p></td>
 
222
<td>internal flag
 
223
</td>
 
224
</tr>
 
225
<tr>
 
226
<td><p><a name="G-LOG-LEVEL-ERROR--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_ERROR</code></span></p></td>
 
227
<td>log level for errors, see <a class="link" href="glib-Message-Logging.html#g-error" title="g_error()"><code class="function">g_error()</code></a>. 
 
228
  This level is also used for messages produced by <a class="link" href="glib-Testing.html#g-assert" title="g_assert()"><code class="function">g_assert()</code></a>.
 
229
</td>
 
230
</tr>
 
231
<tr>
 
232
<td><p><a name="G-LOG-LEVEL-CRITICAL--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_CRITICAL</code></span></p></td>
 
233
<td>log level for critical messages, see <a class="link" href="glib-Message-Logging.html#g-critical" title="g_critical()"><code class="function">g_critical()</code></a>.
 
234
  This level is also used for messages produced by <a class="link" href="glib-Warnings-and-Assertions.html#g-return-if-fail" title="g_return_if_fail()"><code class="function">g_return_if_fail()</code></a> and
 
235
  <a class="link" href="glib-Warnings-and-Assertions.html#g-return-val-if-fail" title="g_return_val_if_fail()"><code class="function">g_return_val_if_fail()</code></a>.
 
236
</td>
 
237
</tr>
 
238
<tr>
 
239
<td><p><a name="G-LOG-LEVEL-WARNING--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_WARNING</code></span></p></td>
 
240
<td>log level for warnings, see <a class="link" href="glib-Message-Logging.html#g-warning" title="g_warning()"><code class="function">g_warning()</code></a>
 
241
</td>
 
242
</tr>
 
243
<tr>
 
244
<td><p><a name="G-LOG-LEVEL-MESSAGE--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_MESSAGE</code></span></p></td>
 
245
<td>log level for messages, see <a class="link" href="glib-Message-Logging.html#g-message" title="g_message()"><code class="function">g_message()</code></a>
 
246
</td>
 
247
</tr>
 
248
<tr>
 
249
<td><p><a name="G-LOG-LEVEL-INFO--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_INFO</code></span></p></td>
257
250
<td>log level for informational messages
258
251
</td>
259
252
</tr>
260
253
<tr>
261
 
<td><p><span class="term"><a name="G-LOG-LEVEL-DEBUG:CAPS"></a><code class="literal">G_LOG_LEVEL_DEBUG</code></span></p></td>
262
 
<td>log level for debug messages, see <a class="link" href="glib-Message-Logging.html#g-debug"><code class="function">g_debug()</code></a>
 
254
<td><p><a name="G-LOG-LEVEL-DEBUG--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_DEBUG</code></span></p></td>
 
255
<td>log level for debug messages, see <a class="link" href="glib-Message-Logging.html#g-debug" title="g_debug()"><code class="function">g_debug()</code></a>
263
256
</td>
264
257
</tr>
265
258
<tr>
266
 
<td><p><span class="term"><a name="G-LOG-LEVEL-MASK:CAPS"></a><code class="literal">G_LOG_LEVEL_MASK</code></span></p></td>
 
259
<td><p><a name="G-LOG-LEVEL-MASK--CAPS"></a><span class="term"><code class="literal">G_LOG_LEVEL_MASK</code></span></p></td>
267
260
<td>a mask including all log levels.
268
 
 
269
261
</td>
270
262
</tr>
271
263
</tbody>
273
265
</div>
274
266
<hr>
275
267
<div class="refsect2" lang="en">
276
 
<a name="id3014696"></a><h3>
277
 
<a name="g-log"></a>g_log ()</h3>
278
 
<a class="indexterm" name="id3014708"></a><pre class="programlisting">void                g_log                               (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
279
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
280
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
 
268
<a name="g-log"></a><h3>g_log ()</h3>
 
269
<pre class="programlisting">void                g_log                               (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
270
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
271
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
281
272
                                                         ...);</pre>
282
273
<p>
283
274
Logs an error or debugging message.
288
279
<col align="left" valign="top">
289
280
<tbody>
290
281
<tr>
291
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
292
 
<td>the log domain, usually <a class="link" href="glib-Message-Logging.html#G-LOG-DOMAIN:CAPS"><span class="type">G_LOG_DOMAIN</span></a>.
293
 
</td>
294
 
</tr>
295
 
<tr>
296
 
<td><p><span class="term"><em class="parameter"><code>log_level</code></em>&#160;:</span></p></td>
297
 
<td>the log level, either from <a class="link" href="glib-Message-Logging.html#GLogLevelFlags"><span class="type">GLogLevelFlags</span></a> or a user-defined level.
298
 
</td>
299
 
</tr>
300
 
<tr>
301
 
<td><p><span class="term"><em class="parameter"><code>format</code></em>&#160;:</span></p></td>
 
282
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
 
283
<td>the log domain, usually <a class="link" href="glib-Message-Logging.html#G-LOG-DOMAIN--CAPS" title="G_LOG_DOMAIN"><span class="type">G_LOG_DOMAIN</span></a>.
 
284
</td>
 
285
</tr>
 
286
<tr>
 
287
<td><p><span class="term"><em class="parameter"><code>log_level</code></em> :</span></p></td>
 
288
<td>the log level, either from <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags"><span class="type">GLogLevelFlags</span></a> or a user-defined level.
 
289
</td>
 
290
</tr>
 
291
<tr>
 
292
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
302
293
<td>the message format. See the <code class="function">printf()</code>
303
294
documentation.
304
295
</td>
305
296
</tr>
306
297
<tr>
307
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
298
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
308
299
<td>the parameters to insert into the format string.
309
 
 
310
 
 
311
300
</td>
312
301
</tr>
313
302
</tbody>
315
304
</div>
316
305
<hr>
317
306
<div class="refsect2" lang="en">
318
 
<a name="id3014856"></a><h3>
319
 
<a name="g-logv"></a>g_logv ()</h3>
320
 
<a class="indexterm" name="id3014868"></a><pre class="programlisting">void                g_logv                              (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
321
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
322
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
 
307
<a name="g-logv"></a><h3>g_logv ()</h3>
 
308
<pre class="programlisting">void                g_logv                              (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
309
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
310
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
323
311
                                                         va_list args);</pre>
324
312
<p>
325
313
Logs an error or debugging message.
330
318
<col align="left" valign="top">
331
319
<tbody>
332
320
<tr>
333
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
 
321
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
334
322
<td>the log domain.
335
323
</td>
336
324
</tr>
337
325
<tr>
338
 
<td><p><span class="term"><em class="parameter"><code>log_level</code></em>&#160;:</span></p></td>
 
326
<td><p><span class="term"><em class="parameter"><code>log_level</code></em> :</span></p></td>
339
327
<td>the log level.
340
328
</td>
341
329
</tr>
342
330
<tr>
343
 
<td><p><span class="term"><em class="parameter"><code>format</code></em>&#160;:</span></p></td>
 
331
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
344
332
<td>the message format. See the <code class="function">printf()</code>
345
333
documentation.
346
334
</td>
347
335
</tr>
348
336
<tr>
349
 
<td><p><span class="term"><em class="parameter"><code>args</code></em>&#160;:</span></p></td>
 
337
<td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
350
338
<td>the parameters to insert into the format string.
351
 
 
352
 
 
353
339
</td>
354
340
</tr>
355
341
</tbody>
357
343
</div>
358
344
<hr>
359
345
<div class="refsect2" lang="en">
360
 
<a name="id3015004"></a><h3>
361
 
<a name="g-message"></a>g_message()</h3>
362
 
<a class="indexterm" name="id3015016"></a><pre class="programlisting">#define             g_message(...)</pre>
 
346
<a name="g-message"></a><h3>g_message()</h3>
 
347
<pre class="programlisting">#define             g_message(...)</pre>
363
348
<p>
364
349
A convenience function/macro to log a normal message.
365
350
</p>
366
351
<div class="variablelist"><table border="0">
367
352
<col align="left" valign="top">
368
353
<tbody><tr>
369
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
354
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
370
355
<td>format string, followed by parameters to insert into the format string (as with <code class="function">printf()</code>)
371
 
 
372
 
 
373
356
</td>
374
357
</tr></tbody>
375
358
</table></div>
376
359
</div>
377
360
<hr>
378
361
<div class="refsect2" lang="en">
379
 
<a name="id3015062"></a><h3>
380
 
<a name="g-warning"></a>g_warning()</h3>
381
 
<a class="indexterm" name="id3015075"></a><pre class="programlisting">#define             g_warning(...)</pre>
 
362
<a name="g-warning"></a><h3>g_warning()</h3>
 
363
<pre class="programlisting">#define             g_warning(...)</pre>
382
364
<p>
383
365
A convenience function/macro to log a warning message.
384
366
</p>
389
371
<div class="variablelist"><table border="0">
390
372
<col align="left" valign="top">
391
373
<tbody><tr>
392
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
374
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
393
375
<td>format string, followed by parameters to insert into the format string (as with <code class="function">printf()</code>)
394
 
 
395
 
 
396
376
</td>
397
377
</tr></tbody>
398
378
</table></div>
399
379
</div>
400
380
<hr>
401
381
<div class="refsect2" lang="en">
402
 
<a name="id3015143"></a><h3>
403
 
<a name="g-critical"></a>g_critical()</h3>
404
 
<a class="indexterm" name="id3015156"></a><pre class="programlisting">#define             g_critical(...)</pre>
 
382
<a name="g-critical"></a><h3>g_critical()</h3>
 
383
<pre class="programlisting">#define             g_critical(...)</pre>
405
384
<p>
406
 
Logs a "critical warning" (<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-CRITICAL:CAPS"><span class="type">G_LOG_LEVEL_CRITICAL</span></a>). It's more or less
 
385
Logs a "critical warning" (<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-CRITICAL--CAPS"><span class="type">G_LOG_LEVEL_CRITICAL</span></a>). It's more or less
407
386
application-defined what constitutes a critical vs. a regular
408
 
warning. You could call <a class="link" href="glib-Message-Logging.html#g-log-set-always-fatal"><code class="function">g_log_set_always_fatal()</code></a> to make critical
409
 
warnings exit the program, then use <a class="link" href="glib-Message-Logging.html#g-critical"><code class="function">g_critical()</code></a> for fatal errors, for
 
387
warning. You could call <a class="link" href="glib-Message-Logging.html#g-log-set-always-fatal" title="g_log_set_always_fatal ()"><code class="function">g_log_set_always_fatal()</code></a> to make critical
 
388
warnings exit the program, then use <a class="link" href="glib-Message-Logging.html#g-critical" title="g_critical()"><code class="function">g_critical()</code></a> for fatal errors, for
410
389
example.
411
390
</p>
412
391
<p>
417
396
<div class="variablelist"><table border="0">
418
397
<col align="left" valign="top">
419
398
<tbody><tr>
420
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
399
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
421
400
<td>format string, followed by parameters to insert into the format string (as with <code class="function">printf()</code>)
422
 
 
423
 
 
424
401
</td>
425
402
</tr></tbody>
426
403
</table></div>
427
404
</div>
428
405
<hr>
429
406
<div class="refsect2" lang="en">
430
 
<a name="id3015256"></a><h3>
431
 
<a name="g-error"></a>g_error()</h3>
432
 
<a class="indexterm" name="id3015269"></a><pre class="programlisting">#define             g_error(...)</pre>
 
407
<a name="g-error"></a><h3>g_error()</h3>
 
408
<pre class="programlisting">#define             g_error(...)</pre>
433
409
<p>
434
410
A convenience function/macro to log an error message.
435
411
Error messages are always fatal, resulting in a call to
441
417
<div class="variablelist"><table border="0">
442
418
<col align="left" valign="top">
443
419
<tbody><tr>
444
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
420
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
445
421
<td>format string, followed by parameters to insert into the format string (as with <code class="function">printf()</code>)
446
 
 
447
 
 
448
422
</td>
449
423
</tr></tbody>
450
424
</table></div>
451
425
</div>
452
426
<hr>
453
427
<div class="refsect2" lang="en">
454
 
<a name="id3015329"></a><h3>
455
 
<a name="g-debug"></a>g_debug()</h3>
456
 
<a class="indexterm" name="id3015344"></a><pre class="programlisting">#define             g_debug(...)</pre>
 
428
<a name="g-debug"></a><h3>g_debug()</h3>
 
429
<pre class="programlisting">#define             g_debug(...)</pre>
457
430
<p>
458
431
A convenience function/macro to log a debug message.
459
432
</p>
460
433
<div class="variablelist"><table border="0">
461
434
<col align="left" valign="top">
462
435
<tbody><tr>
463
 
<td><p><span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></p></td>
 
436
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
464
437
<td>format string, followed by parameters to insert into the format string (as with <code class="function">printf()</code>)
465
438
</td>
466
439
</tr></tbody>
467
440
</table></div>
468
 
<p class="since">Since 2.6
469
 
 
470
 
 
471
 
</p>
 
441
<p class="since">Since 2.6</p>
472
442
</div>
473
443
<hr>
474
444
<div class="refsect2" lang="en">
475
 
<a name="id3015396"></a><h3>
476
 
<a name="g-log-set-handler"></a>g_log_set_handler ()</h3>
477
 
<a class="indexterm" name="id3015410"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint">guint</a>               g_log_set_handler                   (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
478
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_levels,
479
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a> log_func,
480
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);</pre>
 
445
<a name="g-log-set-handler"></a><h3>g_log_set_handler ()</h3>
 
446
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a>               g_log_set_handler                   (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
447
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_levels,
 
448
                                                         <a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a> log_func,
 
449
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);</pre>
481
450
<p>
482
451
Sets the log handler for a domain and a set of log levels.
483
452
To handle fatal and recursive messages the <em class="parameter"><code>log_levels</code></em> parameter
484
 
must be combined with the <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL:CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-RECURSION:CAPS"><span class="type">G_LOG_FLAG_RECURSION</span></a> 
 
453
must be combined with the <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL--CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-RECURSION--CAPS"><span class="type">G_LOG_FLAG_RECURSION</span></a>
485
454
bit flags.
486
455
</p>
487
456
<p>
488
 
Note that since the <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR:CAPS"><span class="type">G_LOG_LEVEL_ERROR</span></a> log level is always fatal, if 
489
 
you want to set a handler for this log level you must combine it with 
490
 
<a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL:CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a>.
 
457
Note that since the <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR--CAPS"><span class="type">G_LOG_LEVEL_ERROR</span></a> log level is always fatal, if
 
458
you want to set a handler for this log level you must combine it with
 
459
<a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL--CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a>.
491
460
</p>
492
461
<div class="example">
493
 
<a name="id3015514"></a><p class="title"><b>Example&#160;12.&#160;Adding a log handler for all warning messages in the default 
 
462
<a name="id3051441"></a><p class="title"><b>Example 12. Adding a log handler for all warning messages in the default
494
463
(application) domain</b></p>
495
464
<div class="example-contents"><pre class="programlisting">
496
465
  g_log_set_handler (NULL, G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
498
467
</pre></div>
499
468
</div>
500
469
<br class="example-break"><div class="example">
501
 
<a name="id3015530"></a><p class="title"><b>Example&#160;13.&#160;Adding a log handler for all critical messages from GTK+</b></p>
 
470
<a name="id3051457"></a><p class="title"><b>Example 13. Adding a log handler for all critical messages from GTK+</b></p>
502
471
<div class="example-contents"><pre class="programlisting">
503
472
  g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL
504
473
                     | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
505
474
</pre></div>
506
475
</div>
507
476
<br class="example-break"><div class="example">
508
 
<a name="id3015545"></a><p class="title"><b>Example&#160;14.&#160;Adding a log handler for <span class="emphasis"><em>all</em></span> messages from 
 
477
<a name="id3051473"></a><p class="title"><b>Example 14. Adding a log handler for <span class="emphasis"><em>all</em></span> messages from
509
478
GLib</b></p>
510
479
<div class="example-contents"><pre class="programlisting">
511
480
  g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
516
485
<col align="left" valign="top">
517
486
<tbody>
518
487
<tr>
519
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
520
 
<td>the log domain, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the default "" application domain.
 
488
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
 
489
<td>the log domain, or <a class="link" href="glib-Standard-Macros.html#NULL--CAPS" title="NULL"><code class="literal">NULL</code></a> for the default "" application domain.
521
490
</td>
522
491
</tr>
523
492
<tr>
524
 
<td><p><span class="term"><em class="parameter"><code>log_levels</code></em>&#160;:</span></p></td>
 
493
<td><p><span class="term"><em class="parameter"><code>log_levels</code></em> :</span></p></td>
525
494
<td>the log levels to apply the log handler for. To handle fatal
526
495
and recursive messages as well, combine the log levels with the
527
 
<a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL:CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-RECURSION:CAPS"><span class="type">G_LOG_FLAG_RECURSION</span></a> bit flags.
 
496
<a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-FATAL--CAPS"><span class="type">G_LOG_FLAG_FATAL</span></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-FLAG-RECURSION--CAPS"><span class="type">G_LOG_FLAG_RECURSION</span></a> bit flags.
528
497
</td>
529
498
</tr>
530
499
<tr>
531
 
<td><p><span class="term"><em class="parameter"><code>log_func</code></em>&#160;:</span></p></td>
 
500
<td><p><span class="term"><em class="parameter"><code>log_func</code></em> :</span></p></td>
532
501
<td>the log handler function.
533
502
</td>
534
503
</tr>
535
504
<tr>
536
 
<td><p><span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></p></td>
 
505
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
537
506
<td>data passed to the log handler.
538
507
</td>
539
508
</tr>
540
509
<tr>
541
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
 
510
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
542
511
<td>the id of the new handler.
543
 
 
544
 
 
545
512
</td>
546
513
</tr>
547
514
</tbody>
549
516
</div>
550
517
<hr>
551
518
<div class="refsect2" lang="en">
552
 
<a name="id3015665"></a><h3>
553
 
<a name="g-log-remove-handler"></a>g_log_remove_handler ()</h3>
554
 
<a class="indexterm" name="id3015678"></a><pre class="programlisting">void                g_log_remove_handler                (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
555
 
                                                         <a class="link" href="glib-Basic-Types.html#guint">guint</a> handler_id);</pre>
 
519
<a name="g-log-remove-handler"></a><h3>g_log_remove_handler ()</h3>
 
520
<pre class="programlisting">void                g_log_remove_handler                (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
521
                                                         <a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> handler_id);</pre>
556
522
<p>
557
523
Removes the log handler.
558
524
</p>
560
526
<col align="left" valign="top">
561
527
<tbody>
562
528
<tr>
563
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
 
529
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
564
530
<td>the log domain.
565
531
</td>
566
532
</tr>
567
533
<tr>
568
 
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em>&#160;:</span></p></td>
569
 
<td>the id of the handler, which was returned in <a class="link" href="glib-Message-Logging.html#g-log-set-handler"><code class="function">g_log_set_handler()</code></a>.
570
 
 
571
 
 
 
534
<td><p><span class="term"><em class="parameter"><code>handler_id</code></em> :</span></p></td>
 
535
<td>the id of the handler, which was returned in <a class="link" href="glib-Message-Logging.html#g-log-set-handler" title="g_log_set_handler ()"><code class="function">g_log_set_handler()</code></a>.
572
536
</td>
573
537
</tr>
574
538
</tbody>
576
540
</div>
577
541
<hr>
578
542
<div class="refsect2" lang="en">
579
 
<a name="id3015759"></a><h3>
580
 
<a name="g-log-set-always-fatal"></a>g_log_set_always_fatal ()</h3>
581
 
<a class="indexterm" name="id3015772"></a><pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a>      g_log_set_always_fatal              (<a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> fatal_mask);</pre>
 
543
<a name="g-log-set-always-fatal"></a><h3>g_log_set_always_fatal ()</h3>
 
544
<pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a>      g_log_set_always_fatal              (<a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> fatal_mask);</pre>
582
545
<p>
583
546
Sets the message levels which are always fatal, in any log domain.
584
547
When a message with any of these levels is logged the program terminates.
585
548
You can only set the levels defined by GLib to be fatal.
586
 
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR:CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a> is always fatal.
 
549
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR--CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a> is always fatal.
587
550
</p>
588
551
<p>
589
552
You can also make some message levels
594
557
<col align="left" valign="top">
595
558
<tbody>
596
559
<tr>
597
 
<td><p><span class="term"><em class="parameter"><code>fatal_mask</code></em>&#160;:</span></p></td>
 
560
<td><p><span class="term"><em class="parameter"><code>fatal_mask</code></em> :</span></p></td>
598
561
<td>the mask containing bits set for each level of error which is
599
562
to be fatal.
600
563
</td>
601
564
</tr>
602
565
<tr>
603
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
 
566
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
604
567
<td>the old fatal mask.
605
 
 
606
 
 
607
568
</td>
608
569
</tr>
609
570
</tbody>
611
572
</div>
612
573
<hr>
613
574
<div class="refsect2" lang="en">
614
 
<a name="id3015867"></a><h3>
615
 
<a name="g-log-set-fatal-mask"></a>g_log_set_fatal_mask ()</h3>
616
 
<a class="indexterm" name="id3015880"></a><pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a>      g_log_set_fatal_mask                (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
617
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> fatal_mask);</pre>
 
575
<a name="g-log-set-fatal-mask"></a><h3>g_log_set_fatal_mask ()</h3>
 
576
<pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a>      g_log_set_fatal_mask                (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
577
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> fatal_mask);</pre>
618
578
<p>
619
579
Sets the log levels which are fatal in the given domain.
620
 
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR:CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a> is always fatal.
 
580
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR--CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a> is always fatal.
621
581
</p>
622
582
<div class="variablelist"><table border="0">
623
583
<col align="left" valign="top">
624
584
<tbody>
625
585
<tr>
626
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
 
586
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
627
587
<td>the log domain.
628
588
</td>
629
589
</tr>
630
590
<tr>
631
 
<td><p><span class="term"><em class="parameter"><code>fatal_mask</code></em>&#160;:</span></p></td>
 
591
<td><p><span class="term"><em class="parameter"><code>fatal_mask</code></em> :</span></p></td>
632
592
<td>the new fatal mask.
633
593
</td>
634
594
</tr>
635
595
<tr>
636
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
 
596
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
637
597
<td>the old fatal mask for the log domain.
638
 
 
639
 
 
640
598
</td>
641
599
</tr>
642
600
</tbody>
644
602
</div>
645
603
<hr>
646
604
<div class="refsect2" lang="en">
647
 
<a name="id3015973"></a><h3>
648
 
<a name="g-log-default-handler"></a>g_log_default_handler ()</h3>
649
 
<a class="indexterm" name="id3015986"></a><pre class="programlisting">void                g_log_default_handler               (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *log_domain,
650
 
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags">GLogLevelFlags</a> log_level,
651
 
                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
652
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> unused_data);</pre>
 
605
<a name="g-log-default-handler"></a><h3>g_log_default_handler ()</h3>
 
606
<pre class="programlisting">void                g_log_default_handler               (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *log_domain,
 
607
                                                         <a class="link" href="glib-Message-Logging.html#GLogLevelFlags" title="enum GLogLevelFlags">GLogLevelFlags</a> log_level,
 
608
                                                         const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
 
609
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> unused_data);</pre>
653
610
<p>
654
 
The default log handler set up by GLib; <a class="link" href="glib-Message-Logging.html#g-log-set-default-handler"><code class="function">g_log_set_default_handler()</code></a> 
 
611
The default log handler set up by GLib; <a class="link" href="glib-Message-Logging.html#g-log-set-default-handler" title="g_log_set_default_handler ()"><code class="function">g_log_set_default_handler()</code></a>
655
612
allows to install an alternate default log handler.
656
613
This is used if no log handler has been set for the particular log domain
657
614
and log level combination. It outputs the message to stderr or stdout
658
615
and if the log level is fatal it calls <code class="function">abort()</code>.
659
616
</p>
660
617
<p>
661
 
stderr is used for levels <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR:CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a>, <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-CRITICAL:CAPS"><code class="literal">G_LOG_LEVEL_CRITICAL</code></a>,
662
 
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-WARNING:CAPS"><code class="literal">G_LOG_LEVEL_WARNING</code></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-MESSAGE:CAPS"><code class="literal">G_LOG_LEVEL_MESSAGE</code></a>. stdout is used for the rest.
 
618
stderr is used for levels <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-ERROR--CAPS"><code class="literal">G_LOG_LEVEL_ERROR</code></a>, <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-CRITICAL--CAPS"><code class="literal">G_LOG_LEVEL_CRITICAL</code></a>,
 
619
<a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-WARNING--CAPS"><code class="literal">G_LOG_LEVEL_WARNING</code></a> and <a class="link" href="glib-Message-Logging.html#G-LOG-LEVEL-MESSAGE--CAPS"><code class="literal">G_LOG_LEVEL_MESSAGE</code></a>. stdout is used for the rest.
663
620
</p>
664
621
<div class="variablelist"><table border="0">
665
622
<col align="left" valign="top">
666
623
<tbody>
667
624
<tr>
668
 
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em>&#160;:</span></p></td>
 
625
<td><p><span class="term"><em class="parameter"><code>log_domain</code></em> :</span></p></td>
669
626
<td>the log domain of the message.
670
627
</td>
671
628
</tr>
672
629
<tr>
673
 
<td><p><span class="term"><em class="parameter"><code>log_level</code></em>&#160;:</span></p></td>
 
630
<td><p><span class="term"><em class="parameter"><code>log_level</code></em> :</span></p></td>
674
631
<td>the level of the message.
675
632
</td>
676
633
</tr>
677
634
<tr>
678
 
<td><p><span class="term"><em class="parameter"><code>message</code></em>&#160;:</span></p></td>
 
635
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
679
636
<td>the message.
680
637
</td>
681
638
</tr>
682
639
<tr>
683
 
<td><p><span class="term"><em class="parameter"><code>unused_data</code></em>&#160;:</span></p></td>
684
 
<td>data passed from <a class="link" href="glib-Message-Logging.html#g-log"><code class="function">g_log()</code></a> which is unused.
685
 
 
686
 
 
 
640
<td><p><span class="term"><em class="parameter"><code>unused_data</code></em> :</span></p></td>
 
641
<td>data passed from <a class="link" href="glib-Message-Logging.html#g-log" title="g_log ()"><code class="function">g_log()</code></a> which is unused.
687
642
</td>
688
643
</tr>
689
644
</tbody>
691
646
</div>
692
647
<hr>
693
648
<div class="refsect2" lang="en">
694
 
<a name="id3016185"></a><h3>
695
 
<a name="g-log-set-default-handler"></a>g_log_set_default_handler ()</h3>
696
 
<a class="indexterm" name="id3016201"></a><pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a>            g_log_set_default_handler           (<a class="link" href="glib-Message-Logging.html#GLogFunc">GLogFunc</a> log_func,
697
 
                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);</pre>
 
649
<a name="g-log-set-default-handler"></a><h3>g_log_set_default_handler ()</h3>
 
650
<pre class="programlisting"><a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a>            g_log_set_default_handler           (<a class="link" href="glib-Message-Logging.html#GLogFunc" title="GLogFunc ()">GLogFunc</a> log_func,
 
651
                                                         <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);</pre>
698
652
<p>
699
 
Installs a default log handler which is used if no 
 
653
Installs a default log handler which is used if no
700
654
log handler has been set for the particular log domain
701
 
and log level combination. By default, GLib uses 
702
 
<a class="link" href="glib-Message-Logging.html#g-log-default-handler"><code class="function">g_log_default_handler()</code></a> as default log handler.
 
655
and log level combination. By default, GLib uses
 
656
<a class="link" href="glib-Message-Logging.html#g-log-default-handler" title="g_log_default_handler ()"><code class="function">g_log_default_handler()</code></a> as default log handler.
703
657
</p>
704
658
<div class="variablelist"><table border="0">
705
659
<col align="left" valign="top">
706
660
<tbody>
707
661
<tr>
708
 
<td><p><span class="term"><em class="parameter"><code>log_func</code></em>&#160;:</span></p></td>
 
662
<td><p><span class="term"><em class="parameter"><code>log_func</code></em> :</span></p></td>
709
663
<td>the log handler function.
710
664
</td>
711
665
</tr>
712
666
<tr>
713
 
<td><p><span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></p></td>
 
667
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
714
668
<td>data passed to the log handler.
715
669
</td>
716
670
</tr>
717
671
<tr>
718
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
 
672
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
719
673
<td>the previous default log handler
720
674
</td>
721
675
</tr>
722
676
</tbody>
723
677
</table></div>
724
 
<p class="since">Since 2.6
725
 
 
726
 
 
727
 
</p>
728
 
</div>
729
 
</div>
730
 
<div class="refsect1" lang="en">
731
 
<a name="id3016303"></a><div class="refsect2" lang="en"><a name="id3016304"></a></div>
 
678
<p class="since">Since 2.6</p>
 
679
</div>
 
680
</div>
 
681
</div>
 
682
<div class="footer">
732
683
<hr>
733
 
<div class="refsect2" lang="en"><a name="id3016305"></a></div>
734
 
</div>
735
 
</div>
 
684
          Generated by GTK-Doc V1.11</div>
736
685
</body>
737
686
</html>