Go to the documentation of this file.
38 #ifndef _LIBUTIL_ERR_H_
39 #define _LIBUTIL_ERR_H_
47 #include <sphinxbase/sphinxbase_export.h>
74 #define E_SYSCALL(stmt, ...) if (stmt) E_FATAL_SYSTEM(__VA_ARGS__);
76 #define FILELINE __FILE__ , __LINE__
81 #define E_FATAL(...) \
83 err_msg(ERR_FATAL, FILELINE, __VA_ARGS__); \
90 #define E_FATAL_SYSTEM(...) \
92 err_msg_system(ERR_FATAL, FILELINE, __VA_ARGS__); \
99 #define E_ERROR_SYSTEM(...) err_msg_system(ERR_ERROR, FILELINE, __VA_ARGS__)
104 #define E_ERROR(...) err_msg(ERR_ERROR, FILELINE, __VA_ARGS__)
109 #define E_WARN(...) err_msg(ERR_WARN, FILELINE, __VA_ARGS__)
114 #define E_INFO(...) err_msg(ERR_INFO, FILELINE, __VA_ARGS__)
119 #define E_INFOCONT(...) err_msg(ERR_INFOCONT, NULL, 0, __VA_ARGS__)
124 #define E_INFO_NOFN(...) err_msg(ERR_INFO, NULL, 0, __VA_ARGS__)
137 #define E_DEBUG(level, ...) \
138 if (err_get_debug_level() >= level) \
139 err_msg(ERR_DEBUG, FILELINE, __VA_ARGS__)
140 #define E_DEBUGCONT(level, ...) \
141 if (err_get_debug_level() >= level) \
142 err_msg(ERR_DEBUG, NULL, 0, __VA_ARGS__)
144 #define E_DEBUG(level,x)
145 #define E_DEBUGCONT(level,x)
158 SPHINXBASE_EXPORT
void
159 err_msg(err_lvl_t lvl,
const char *path,
long ln,
const char *fmt, ...);
161 SPHINXBASE_EXPORT
void
162 err_msg_system(err_lvl_t lvl,
const char *path,
long ln,
const char *fmt, ...);
164 SPHINXBASE_EXPORT
void
165 err_logfp_cb(
void * user_data, err_lvl_t level,
const char *fmt, ...);
167 typedef void (*err_cb_f)(
void* user_data, err_lvl_t,
const char *, ...);
177 SPHINXBASE_EXPORT
void
185 SPHINXBASE_EXPORT
void
194 SPHINXBASE_EXPORT FILE *
205 SPHINXBASE_EXPORT
int
SPHINXBASE_EXPORT void err_set_logfp(FILE *stream)
Direct all logging to a given filehandle if default logfp callback is set.
SPHINXBASE_EXPORT void err_set_callback(err_cb_f callback, void *user_data)
Sets function to output error messages.
SPHINXBASE_EXPORT int err_set_logfile(const char *path)
Append all log messages to a given file.
SPHINXBASE_EXPORT int err_set_debug_level(int level)
Set debugging verbosity level.
SPHINXBASE_EXPORT int err_get_debug_level(void)
Get debugging verbosity level.
SPHINXBASE_EXPORT FILE * err_get_logfp(void)
Get the current logging filehandle.