1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="en" name="language">
<title>log</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link media="screen" href="../docutils-api.css" type="text/css" rel="stylesheet">
</head>
<body>
<div class="banner">
<img src="../images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
<input type="hidden" name="domains" value="www.graphicsmagick.org" />
<input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" /> <input type="submit" name="sa" value="Search" /></span>
</form>
</div>
<div class="navmenu">
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../project.html">Project</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../README.html">Install</a></li>
<li><a href="../Hg.html">Source</a></li>
<li><a href="../NEWS.html">News</a> </li>
<li><a href="../utilities.html">Utilities</a></li>
<li><a href="../programming.html">Programming</a></li>
<li><a href="../reference.html">Reference</a></li>
</ul>
</div>
<div class="document" id="log">
<h1 class="title">log</h1>
<p class="subtitle" id="event-logging-support">Event logging support</p>
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#iseventlogging" id="id23">IsEventLogging</a></p></li>
<li><p><a class="reference internal" href="#iseventlogged" id="id24">IsEventLogged</a></p></li>
<li><p><a class="reference internal" href="#logmagickevent" id="id25">LogMagickEvent</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaulteventtype" id="id26">SetLogDefaultEventType</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaultgenerations" id="id27">SetLogDefaultGenerations</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaultlimit" id="id28">SetLogDefaultLimit</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaultlogmethod" id="id29">SetLogDefaultLogMethod</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaultoutputtype" id="id30">SetLogDefaultOutputType</a></p></li>
<li><p><a class="reference internal" href="#setlogdefaultfilename" id="id31">SetLogDefaultFileName</a></p></li>
<li><p><a class="reference internal" href="#setlogeventmask" id="id32">SetLogEventMask</a></p></li>
<li><p><a class="reference internal" href="#setlogformat" id="id33">SetLogFormat</a></p></li>
<li><p><a class="reference internal" href="#setlogmethod" id="id34">SetLogMethod</a></p></li>
</ul>
</div>
<div class="section" id="iseventlogging">
<h1><a class="toc-backref" href="#id23">IsEventLogging</a></h1>
<div class="section" id="synopsis">
<h2>Synopsis</h2>
<pre class="literal-block">MagickBool IsEventLogging( void );</pre>
</div>
<div class="section" id="description">
<h2>Description</h2>
<p>IsEventLogging() returns MagickTrue if logging of events is enabled,
otherwise MagickFalse. This can be used to enable logging code which
is otherwise not needed.</p>
<p>The format of the IsEventLogging method is:</p>
<pre class="literal-block">MagickBool IsEventLogging( void );</pre>
</div>
</div>
<div class="section" id="iseventlogged">
<h1><a class="toc-backref" href="#id24">IsEventLogged</a></h1>
<div class="section" id="id1">
<h2>Synopsis</h2>
<pre class="literal-block">MagickBool IsEventLogged( const <a class="reference external" href="../api/types.html#exceptiontype">ExceptionType</a> type );</pre>
</div>
<div class="section" id="id2">
<h2>Description</h2>
<p>IsEventLogged() returns MagickTrue if logging of events for the specified
exception type is enabled, otherwise MagickFalse. This can be used to
enable logging code which is otherwise not needed.</p>
<p>The format of the IsEventLogging method is:</p>
<pre class="literal-block">MagickBool IsEventLogged( const <a class="reference external" href="../api/types.html#exceptiontype">ExceptionType</a> type );</pre>
</div>
</div>
<div class="section" id="logmagickevent">
<h1><a class="toc-backref" href="#id25">LogMagickEvent</a></h1>
<div class="section" id="id3">
<h2>Synopsis</h2>
<pre class="literal-block">MagickPassFail LogMagickEvent( const <a class="reference external" href="../api/types.html#logeventtype">LogEventType</a> type, const char *module,
const char *function, const unsigned long line,
const char *format, ... );</pre>
</div>
<div class="section" id="id4">
<h2>Description</h2>
<p>LogMagickEvent() logs an event as determined by the current logging
configuration. If an error occurs, MagickFail is returned otherwise
MagickPass.</p>
<p>The format of the LogMagickEvent method is:</p>
<pre class="literal-block">MagickPassFail LogMagickEvent( const <a class="reference external" href="../api/types.html#logeventtype">LogEventType</a> type, const char *module,
const char *function, const unsigned long line,
const char *format, ... );</pre>
<dl class="simple">
<dt>type:</dt>
<dd><p>The event type.</p>
</dd>
<dt>filename:</dt>
<dd><p>The source module filename.</p>
</dd>
<dt>function:</dt>
<dd><p>The function name.</p>
</dd>
<dt>line:</dt>
<dd><p>The line number of the source module.</p>
</dd>
<dt>format:</dt>
<dd><p>The output format.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaulteventtype">
<h1><a class="toc-backref" href="#id26">SetLogDefaultEventType</a></h1>
<div class="section" id="id5">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultEventType( const char *events );</pre>
</div>
<div class="section" id="id6">
<h2>Description</h2>
<p>SetLogDefaultEventType() accepts a comma-delimited list (Annotate, Blob,
Cache, Coder, Configure, Deprecate, Error, Exception, FatalError,
Information, Locale, Option, Render, Resource, TemporaryFile, Transform,
User, Warning, or X11) that determines the default set of events to log.
All other events are ignored. By default, no logging is enabled.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized. The events may be modified later after
InitializeMagick() has been called using the SetLogEventMask() function.</p>
<p>The format of SetLogDefaultEventType method is:</p>
<pre class="literal-block">void SetLogDefaultEventType( const char *events );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>events:</dt>
<dd><p>Comma-separated list of events to report.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaultgenerations">
<h1><a class="toc-backref" href="#id27">SetLogDefaultGenerations</a></h1>
<div class="section" id="id7">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultGenerations( const unsigned long generations );</pre>
</div>
<div class="section" id="id8">
<h2>Description</h2>
<p>SetLogDefaultGenerations() specifies the maximum number of log files
to maintain before circulating back to overwrite the first name.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized.</p>
<p>The format of SetLogDefaultGenerations method is:</p>
<pre class="literal-block">void SetLogDefaultGenerations( const unsigned long generations );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>generations:</dt>
<dd><p>Number of log files to maintain before circulating back to
the first name.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaultlimit">
<h1><a class="toc-backref" href="#id28">SetLogDefaultLimit</a></h1>
<div class="section" id="id9">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultLimit( const unsigned long limit );</pre>
</div>
<div class="section" id="id10">
<h2>Description</h2>
<p>SetLogDefaultLimit() specifies the maximum number of logging events which
may occur before creating a new log file.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized.</p>
<p>The format of SetLogDefaultLimit method is:</p>
<pre class="literal-block">void SetLogDefaultLimit( const unsigned long limit );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>limit:</dt>
<dd><p>Maximum number of logging events before creating a new log file.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaultlogmethod">
<h1><a class="toc-backref" href="#id29">SetLogDefaultLogMethod</a></h1>
<div class="section" id="id11">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultLogMethod( const <a class="reference external" href="../api/types.html#logmethod">LogMethod</a> method );</pre>
</div>
<div class="section" id="id12">
<h2>Description</h2>
<p>SetLogDefaultLogMethod() provides a call-back function to be invoked
for each log event when the logging method type is MethodOutput.
This call-back function is supported when MethodOutput is enabled
in the log output type. MethodOutput is automatically enabled if
a call-back function is provided, and disabled if the call-back
function is NULL.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized.</p>
<p>The format of SetLogDefaultLogMethod method is:</p>
<pre class="literal-block">void SetLogDefaultLogMethod( const <a class="reference external" href="../api/types.html#logmethod">LogMethod</a> method );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>method:</dt>
<dd><p>Call-back function to be invoked for each log event.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaultoutputtype">
<h1><a class="toc-backref" href="#id30">SetLogDefaultOutputType</a></h1>
<div class="section" id="id13">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultOutputType( const <a class="reference external" href="../api/types.html#logoutputtype">LogOutputType</a> output_type );</pre>
</div>
<div class="section" id="id14">
<h2>Description</h2>
<p>SetLogDefaultOutputType() sets the logging output destination.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized.</p>
<p>The format of SetLogDefaultOutputType method is:</p>
<pre class="literal-block">void SetLogDefaultOutputType( const <a class="reference external" href="../api/types.html#logoutputtype">LogOutputType</a> output_type );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>output_type:</dt>
<dd><p>The logging output destination. One of the enumerated
values of LogOutputType.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogdefaultfilename">
<h1><a class="toc-backref" href="#id31">SetLogDefaultFileName</a></h1>
<div class="section" id="id15">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogDefaultFileName( const char *filename );</pre>
</div>
<div class="section" id="id16">
<h2>Description</h2>
<p>SetLogDefaultFileName() provides the file name, or file path, to be
written to for each log event. Place a %d in the file name in order to
support multiple log generations. This setting is only used when the
log output type uses an output file.</p>
<p>This function should be called prior to InitializeMagick() since it
provides defaults used by InitializeMagick() while the logging system
is initialized.</p>
<p>The format of SetLogDefaultFileName method is:</p>
<pre class="literal-block">void SetLogDefaultFileName( const char *filename );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>filename:</dt>
<dd><p>File name, or file path to write log output to.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogeventmask">
<h1><a class="toc-backref" href="#id32">SetLogEventMask</a></h1>
<div class="section" id="id17">
<h2>Synopsis</h2>
<pre class="literal-block">unsigned long SetLogEventMask( const char *events );</pre>
</div>
<div class="section" id="id18">
<h2>Description</h2>
<p>SetLogEventMask() accepts a comma-delimited list (Annotate, Blob, Cache,
Coder, Configure, Deprecate, Error, Exception, FatalError, Information,
Locale, Option, Render, Resource, TemporaryFile, Transform, User,
Warning, or X11) that determines which events to log. All other events
are ignored. By default, no logging is enabled. This method returns
the updated log event mask.</p>
<p>The format of the SetLogEventMask method is:</p>
<pre class="literal-block">unsigned long SetLogEventMask( const char *events );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>events:</dt>
<dd><p>log these events.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogformat">
<h1><a class="toc-backref" href="#id33">SetLogFormat</a></h1>
<div class="section" id="id19">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogFormat( const char *format );</pre>
</div>
<div class="section" id="id20">
<h2>Description</h2>
<p>SetLogFormat() sets the format for the "human readable" log record.
The format specification supports these special format characters:</p>
<p>%d domain,
%e event,
%f function,
%l line,
%m module,
%p process ID,
%r real CPU time,
%t wall clock time,
%u user CPU time,
%% percent sign,
n newline,
r carriage return</p>
<p>The format of the LogMagickFormat method is:</p>
<pre class="literal-block">void SetLogFormat( const char *format );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>format:</dt>
<dd><p>The log record format.</p>
</dd>
</dl>
</div>
</div>
<div class="section" id="setlogmethod">
<h1><a class="toc-backref" href="#id34">SetLogMethod</a></h1>
<div class="section" id="id21">
<h2>Synopsis</h2>
<pre class="literal-block">void SetLogMethod( <a class="reference external" href="../api/types.html#logmethod">LogMethod</a> method );</pre>
</div>
<div class="section" id="id22">
<h2>Description</h2>
<p>SetLogMethod() sets the method to be called when logging.</p>
<p>The format of the SetLogMethod method is:</p>
<pre class="literal-block">void SetLogMethod( <a class="reference external" href="../api/types.html#logmethod">LogMethod</a> method );</pre>
<p>A description of each parameter follows:</p>
<dl class="simple">
<dt>method:</dt>
<dd><p>pointer to a method of type LogMethod that will be called when LogMagickEvent
is called. Pass a null pointer to remove a registered method.</p>
</dd>
</dl>
</div>
</div>
</div>
<hr class="docutils">
<div class="document">
<p><a href="../Copyright.html">Copyright</a> © GraphicsMagick Group 2002 - 2023<!--SPONSOR_LOGO--></p>
</div>
</div>
</body>
</html>
|