Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
log.h
Go to the documentation of this file.
1
/* $Id$
2
*
3
* OpenMAMA: The open middleware agnostic messaging API
4
* Copyright (C) 2011 NYSE Technologies, Inc.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
* 02110-1301 USA
20
*/
21
22
#ifndef MamaLogH__
23
#define MamaLogH__
24
25
#include <stdio.h>
26
#include <
mama/config.h
>
27
#include <stdarg.h>
28
#ifdef __cplusplus
29
extern
"C"
30
{
31
#endif
32
33
#include "
mama/status.h
"
34
36
typedef
enum
37
{
38
MAMA_LOG_LEVEL_OFF
= 0,
39
MAMA_LOG_LEVEL_SEVERE
= 1,
40
MAMA_LOG_LEVEL_ERROR
= 2,
41
MAMA_LOG_LEVEL_WARN
= 3,
42
MAMA_LOG_LEVEL_NORMAL
= 4,
43
MAMA_LOG_LEVEL_FINE
= 5,
44
MAMA_LOG_LEVEL_FINER
= 6,
45
MAMA_LOG_LEVEL_FINEST
= 7
46
}
MamaLogLevel
;
47
49
typedef
enum
50
{
51
LOGFILE_UNBOUNDED
= 1,
52
LOGFILE_ROLL
= 2,
53
LOGFILE_OVERWRITE
= 3,
54
LOGFILE_USER
= 4
55
}
mamaLogFilePolicy
;
56
57
59
typedef
void
(MAMACALLTYPE *mamaLogCb) (
MamaLogLevel
level,
const
char
*
format
, va_list
ap
);
60
typedef
void
(MAMACALLTYPE *mamaLogCb2) (
MamaLogLevel
level,
const
char
*
message
);
61
typedef
void
(*
logSizeCbType
) (
void
);
62
64
MAMAExpDLL
65
extern
void
MAMACALLTYPE
66
mama_logDefault
(
MamaLogLevel
level,
const
char
*format, va_list
ap
);
67
77
MAMAExpDLL
78
extern
void
MAMACALLTYPE
79
mama_logDefault2
(
MamaLogLevel
level,
const
char
*
message
);
80
81
MAMAExpDLL
82
extern
void
83
mama_logStdout
(
MamaLogLevel
level,
const
char
*format, ...);
84
88
MAMAExpDLL
89
extern
void
MAMACALLTYPE
90
mama_forceLogDefault
(
MamaLogLevel
level,
const
char
*format, va_list
ap
);
91
93
MAMAExpDLL
94
extern
MamaLogLevel
gMamaLogLevel
;
95
97
MAMAExpDLL
98
extern
FILE*
gMamaLogFile
;
99
110
MAMAExpDLL
111
extern
mama_status
112
mama_enableLogging
(FILE *file,
MamaLogLevel
level);
113
122
MAMAExpDLL
123
extern
mama_status
124
mama_logToFile
(
const
char
* file,
MamaLogLevel
level);
125
127
MAMAExpDLL
128
extern
mama_status
129
mama_disableLogging
(
void
);
130
132
MAMAExpDLL
133
extern
void
134
mama_log
(
MamaLogLevel
level,
const
char
*format, ...);
135
136
MAMAExpDLL
137
extern
void
MAMACALLTYPE
138
mama_log2
(
MamaLogLevel
level,
const
char
*
message
);
139
140
MAMAExpDLL
141
extern
void
142
mama_logVa
(
MamaLogLevel
level,
const
char
*format, va_list args);
143
145
MAMAExpDLL
146
extern
void
147
mama_forceLogVa
(
const
char
*format, va_list args);
148
MAMAExpDLL
149
extern
void
150
mama_forceLog
(
MamaLogLevel
level,
const
char
*format, ...);
151
156
MAMAExpDLL
157
extern
mama_status
158
mama_setLogCallback
(mamaLogCb callback);
159
170
MAMAExpDLL
171
extern
mama_status
172
mama_setLogCallback2
(mamaLogCb2 callback);
173
178
MAMAExpDLL
179
extern
mama_status
180
mama_setForceLogCallback
(mamaLogCb callback);
181
183
MAMAExpDLL
184
extern
mama_status
185
mama_setLogLevel
(
MamaLogLevel
level);
186
188
MAMAExpDLL
189
extern
MamaLogLevel
190
mama_getLogLevel
(
void
);
191
198
MAMAExpDLL
199
extern
mama_status
200
mama_setLogSize
(
unsigned
long
size
);
201
206
MAMAExpDLL
207
extern
mama_status
208
mama_setNumLogFiles
(
int
numFiles);
209
214
MAMAExpDLL
215
extern
mama_status
216
mama_setLogFilePolicy
(
mamaLogFilePolicy
policy);
217
219
MAMAExpDLL
220
extern
mama_status
221
mama_setAppendToLogFile
(
int
append);
222
224
MAMAExpDLL
225
extern
int
226
mama_loggingToFile
(
void
);
227
233
MAMAExpDLL
234
extern
mama_status
235
mama_setLogSizeCb
(
logSizeCbType
logCallbacks);
236
238
MAMAExpDLL
239
extern
const
char
*
240
mama_logLevelToString
(
MamaLogLevel
level);
241
247
MAMAExpDLL
248
extern
int
249
mama_tryStringToLogLevel
(
const
char
* s,
MamaLogLevel
* level);
250
252
MAMAExpDLL
253
extern
const
char
*
254
mama_logPolicyToString
(
mamaLogFilePolicy
level);
255
261
MAMAExpDLL
262
extern
int
263
mama_tryStringToLogPolicy
(
const
char
* s,
mamaLogFilePolicy
* policy);
264
273
MAMAExpDLL
274
extern
int
275
mama_logIncrementVerbosity
(
MamaLogLevel
* level);
276
285
MAMAExpDLL
286
extern
int
287
mama_logDecrementVerbosity
(
MamaLogLevel
* level);
288
294
MAMAExpDLL
295
extern
mama_status
296
mama_logForceRollLogFiles
(
void
);
297
299
void
300
mama_logDestroy
(
void
);
301
302
void
303
mama_loginit
(
void
);
304
305
#ifdef __cplusplus
306
}
/* MAMAExpDLL
307
extern "C" */
308
#endif
309
310
#endif
/* MAMA_LOG_H__ */
© 2012 Linux Foundation