OpenMAMA
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 {
46 } MamaLogLevel;
47 
49 typedef enum
50 {
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
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
173 
178 MAMAExpDLL
179 extern mama_status
181 
183 MAMAExpDLL
184 extern mama_status
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
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*
241 
247 MAMAExpDLL
248 extern int
249 mama_tryStringToLogLevel(const char* s, MamaLogLevel* level);
250 
252 MAMAExpDLL
253 extern const char*
255 
261 MAMAExpDLL
262 extern int
263 mama_tryStringToLogPolicy(const char* s, mamaLogFilePolicy* policy);
264 
273 MAMAExpDLL
274 extern int
276 
285 MAMAExpDLL
286 extern int
288 
294 MAMAExpDLL
295 extern mama_status
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__ */
mama_tryStringToLogLevel
MAMAExpDLL int mama_tryStringToLogLevel(const char *s, MamaLogLevel *level)
Try to convert string to log level Return non-zero for success, zero for failure The string compariso...
LOGFILE_ROLL
@ LOGFILE_ROLL
Definition: log.h:52
mama_forceLog
MAMAExpDLL void mama_forceLog(MamaLogLevel level, const char *format,...)
mama_setLogLevel
MAMAExpDLL mama_status mama_setLogLevel(MamaLogLevel level)
Sets the log level for Mama.
mama_status
mama_status
Definition: status.h:37
mama_logIncrementVerbosity
MAMAExpDLL int mama_logIncrementVerbosity(MamaLogLevel *level)
Increase by one log level the verbosity of a MamaLogLevel variable.
MAMA_LOG_LEVEL_ERROR
@ MAMA_LOG_LEVEL_ERROR
Definition: log.h:40
gMamaLogFile
MAMAExpDLL FILE * gMamaLogFile
The file to which all logging will be written by default.
gMamaLogLevel
MAMAExpDLL MamaLogLevel gMamaLogLevel
The current log level within the API.
mama_loggingToFile
MAMAExpDLL int mama_loggingToFile(void)
Return status of loggingToFile.
MAMA_LOG_LEVEL_FINER
@ MAMA_LOG_LEVEL_FINER
Definition: log.h:44
mama_logDecrementVerbosity
MAMAExpDLL int mama_logDecrementVerbosity(MamaLogLevel *level)
Decrease by one log level the verbosity of a MamaLogLevel variable.
MAMA_LOG_LEVEL_WARN
@ MAMA_LOG_LEVEL_WARN
Definition: log.h:41
mama_logDefault
MAMAExpDLL void MAMACALLTYPE mama_logDefault(MamaLogLevel level, const char *format, va_list ap)
The default logging within the API unless otherwise specified.
logSizeCbType
void(* logSizeCbType)(void)
Definition: log.h:61
mama_forceLogDefault
MAMAExpDLL void MAMACALLTYPE mama_forceLogDefault(MamaLogLevel level, const char *format, va_list ap)
The default function used within the API for the mama_forceLog function pointer.
mama_tryStringToLogPolicy
MAMAExpDLL int mama_tryStringToLogPolicy(const char *s, mamaLogFilePolicy *policy)
Try to convert string to log policy.
mamaLogCb
void(MAMACALLTYPE * mamaLogCb)(MamaLogLevel level, const char *format, va_list ap)
The prototype of the MAMA logging functions.
Definition: log.h:59
mama_setLogFilePolicy
MAMAExpDLL mama_status mama_setLogFilePolicy(mamaLogFilePolicy policy)
Set the policy regarding how to handle files when Max file size is reached.
mama_logToFile
MAMAExpDLL mama_status mama_logToFile(const char *file, MamaLogLevel level)
Behaves as mama_enableLogging() but accepts a string representing the file location.
mama_logDefault2
MAMAExpDLL void MAMACALLTYPE mama_logDefault2(MamaLogLevel level, const char *message)
This second logging function takes only a message and not a format string with a variable argument li...
mamaLogFilePolicy
mamaLogFilePolicy
The policy to control log file size.
Definition: log.h:49
mama_log
MAMAExpDLL void mama_log(MamaLogLevel level, const char *format,...)
Used for the majority of logging within the API.
mama_forceLogVa
MAMAExpDLL void mama_forceLogVa(const char *format, va_list args)
Used for the force logging using variable argument parameters.
mama_logVa
MAMAExpDLL void mama_logVa(MamaLogLevel level, const char *format, va_list args)
mama_setLogSizeCb
MAMAExpDLL mama_status mama_setLogSizeCb(logSizeCbType logCallbacks)
Set a callback for when the max log size is reached.
MAMA_LOG_LEVEL_FINE
@ MAMA_LOG_LEVEL_FINE
Definition: log.h:43
mama_logLevelToString
const MAMAExpDLL char * mama_logLevelToString(MamaLogLevel level)
Return string version of log level.
mama_setForceLogCallback
MAMAExpDLL mama_status mama_setForceLogCallback(mamaLogCb callback)
Set the callback to be used for mama logging.
LOGFILE_UNBOUNDED
@ LOGFILE_UNBOUNDED
Definition: log.h:51
mama_logPolicyToString
const MAMAExpDLL char * mama_logPolicyToString(mamaLogFilePolicy level)
Return string version of log policy.
LOGFILE_USER
@ LOGFILE_USER
Definition: log.h:54
MAMA_LOG_LEVEL_SEVERE
@ MAMA_LOG_LEVEL_SEVERE
Definition: log.h:39
mama_logStdout
MAMAExpDLL void mama_logStdout(MamaLogLevel level, const char *format,...)
mama_setAppendToLogFile
MAMAExpDLL mama_status mama_setAppendToLogFile(int append)
Set append to existing log file.
mama_disableLogging
MAMAExpDLL mama_status mama_disableLogging(void)
Disable logging.
MamaLogLevel
MamaLogLevel
The level of detail when logging is enabled within the API.
Definition: log.h:36
MAMA_LOG_LEVEL_FINEST
@ MAMA_LOG_LEVEL_FINEST
Definition: log.h:45
mama_enableLogging
MAMAExpDLL mama_status mama_enableLogging(FILE *file, MamaLogLevel level)
Enable logging.
mama_loginit
void mama_loginit(void)
mama_setLogSize
MAMAExpDLL mama_status mama_setLogSize(unsigned long size)
Set the maxmum size of the log file (bytes).
MAMA_LOG_LEVEL_NORMAL
@ MAMA_LOG_LEVEL_NORMAL
Definition: log.h:42
mama_getLogLevel
MAMAExpDLL MamaLogLevel mama_getLogLevel(void)
Returns the current log level for Mama.
mama_log2
MAMAExpDLL void MAMACALLTYPE mama_log2(MamaLogLevel level, const char *message)
LOGFILE_OVERWRITE
@ LOGFILE_OVERWRITE
Definition: log.h:53
mama_setNumLogFiles
MAMAExpDLL mama_status mama_setNumLogFiles(int numFiles)
Set the number of rolled logfiles to keep before overwriting.
MAMA_LOG_LEVEL_OFF
@ MAMA_LOG_LEVEL_OFF
Definition: log.h:38
mama_logForceRollLogFiles
MAMAExpDLL mama_status mama_logForceRollLogFiles(void)
Force rolling the log file.
mama_logDestroy
void mama_logDestroy(void)
Destroy memory held by the logging.
config.h
mama_setLogCallback2
MAMAExpDLL mama_status mama_setLogCallback2(mamaLogCb2 callback)
Set the callback to be used for mama_log calls.
status.h
mamaLogCb2
void(MAMACALLTYPE * mamaLogCb2)(MamaLogLevel level, const char *message)
Definition: log.h:60
mama_setLogCallback
MAMAExpDLL mama_status mama_setLogCallback(mamaLogCb callback)
Set the callback to be used for mama_log calls.


© 2012 Linux Foundation