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 FILE * err_get_logfp(void)
Get the current logging filehandle.
SPHINXBASE_EXPORT int err_set_debug_level(int level)
Set debugging verbosity level.
SPHINXBASE_EXPORT void err_set_callback(err_cb_f callback, void *user_data)
Sets function to output error messages.
SPHINXBASE_EXPORT int err_get_debug_level(void)
Get debugging verbosity level.
SPHINXBASE_EXPORT int err_set_logfile(const char *path)
Append all log messages to a given file.