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
|
/*
Copyright (C) 2003 - 2020 GraphicsMagick Group
Copyright (C) 2002 ImageMagick Studio
This program is covered by multiple licenses, which are described in
Copyright.txt. You should have received a copy of Copyright.txt with this
package; otherwise see http://www.graphicsmagick.org/www/Copyright.html.
Log methods.
*/
#ifndef _MAGICK_LOG_H
#define _MAGICK_LOG_H
#include "magick/error.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
/*
Define declarations.
*/
#define MagickLogFilename "log.mgk"
/*
Obtain the current C function name (if possible)
*/
# if !defined(GetCurrentFunction)
# if (((defined(__cplusplus) || defined(c_plusplus)) && defined(HAS_CPP__func__)) || \
(!(defined(__cplusplus) || defined(c_plusplus)) && defined(HAS_C__func__)))
# define GetCurrentFunction() (__func__)
# elif defined(_VISUALC_) && defined(__FUNCTION__)
# define GetCurrentFunction() (__FUNCTION__)
# else
# define GetCurrentFunction() ("unknown")
# endif
# endif
/*
Obtain current source file, function name, and source file line,
in a form acceptable for use with LogMagickEvent.
*/
# if !defined(GetMagickModule)
# define GetMagickModule() __FILE__,GetCurrentFunction(),__LINE__
# endif
/* NOTE: any changes to this effect PerlMagick */
typedef enum
{
UndefinedEventMask = 0x00000000,
NoEventsMask = 0x00000000,
ConfigureEventMask = 0x00000001,
AnnotateEventMask = 0x00000002,
RenderEventMask = 0x00000004,
TransformEventMask = 0x00000008,
LocaleEventMask = 0x00000010,
CoderEventMask = 0x00000020,
X11EventMask = 0x00000040,
CacheEventMask = 0x00000080,
BlobEventMask = 0x00000100,
DeprecateEventMask = 0x00000200,
UserEventMask = 0x00000400,
ResourceEventMask = 0x00000800,
TemporaryFileEventMask = 0x00001000,
/* ExceptionEventMask = WarningEventMask | ErrorEventMask | FatalErrorEventMask */
ExceptionEventMask = 0x00070000,
OptionEventMask = 0x00004000,
InformationEventMask = 0x00008000,
WarningEventMask = 0x00010000,
ErrorEventMask = 0x00020000,
FatalErrorEventMask = 0x00040000,
AllEventsMask = 0x7FFFFFFF
} LogEventType;
/*
Typedef declarations.
*/
typedef enum
{
DisabledOutput = 0x0000,
UndefinedOutput = 0x0000,
StdoutOutput = 0x0001,
StderrOutput = 0x0002,
XMLFileOutput = 0x0004,
TXTFileOutput = 0x0008,
Win32DebugOutput = 0x0010,
Win32EventlogOutput = 0x0020,
MethodOutput = 0x0040
} LogOutputType;
typedef void
(*LogMethod)(const ExceptionType type,const char *text);
/*
Method declarations.
*/
extern MagickExport MagickBool
IsEventLogging(void) MAGICK_FUNC_PURE,
LogMagickEvent(const ExceptionType type,
const char *module,const char *function,const unsigned long line,
const char *format,...) MAGICK_ATTRIBUTE((__format__ (__printf__,5,6))),
LogMagickEventList(const ExceptionType type,
const char *module,const char *function,const unsigned long line,
const char *format,va_list operands) MAGICK_ATTRIBUTE((__format__ (__printf__,5,0)));
extern MagickExport unsigned long
SetLogEventMask(const char *events);
extern MagickExport void
SetLogDefaultEventType(const char *events),
SetLogDefaultGenerations(const unsigned long generations),
SetLogDefaultLimit(const unsigned long limit),
SetLogDefaultFileName( const char *filename ),
SetLogDefaultFormat( const char *format ),
SetLogDefaultLogMethod(const LogMethod method),
SetLogDefaultOutputType(const LogOutputType output_type),
SetLogFormat(const char *format),
SetLogMethod(LogMethod);
#if defined(MAGICK_IMPLEMENTATION)
# include "magick/log-private.h"
#endif /* MAGICK_IMPLEMENTATION */
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif /* _MAGICK_LOG_H */
/*
* Local Variables:
* mode: c
* c-basic-offset: 2
* fill-column: 78
* End:
*/
|