SphinxBase
0.6
|
Implementation of logging routines. More...
#include <stdarg.h>
#include <stdio.h>
#include <errno.h>
#include <sphinxbase/sphinxbase_export.h>
Go to the source code of this file.
Macros | |
#define | E_FATAL _E__pr_header(__FILE__, __LINE__, "FATAL_ERROR"),_E__die_error |
Exit with non-zero status after error message. | |
#define | E_FATAL_SYSTEM _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__fatal_sys_error |
Print error text; Call perror(""); exit(errno);. | |
#define | E_WARN_SYSTEM _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__sys_error |
Print error text; Call perror("");. | |
#define | E_ERROR_SYSTEM _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__sys_error |
Print error text; Call perror("");. | |
#define | E_INFO _E__pr_info_header(__FILE__, __LINE__, "INFO"),_E__pr_info |
Print logging information to standard error stream. | |
#define | E_INFOCONT _E__pr_info |
Print logging information without header, to standard error stream. | |
#define | E_INFO_NOFN _E__pr_info_header_wofn("INFO"),_E__pr_info |
Print logging information without filename. | |
#define | E_WARN _E__pr_header(__FILE__, __LINE__, "WARNING"),_E__pr_warn |
Print warning information to standard error stream. | |
#define | E_ERROR _E__pr_header(__FILE__, __LINE__, "ERROR"),_E__pr_warn |
Print error message to standard error stream. | |
#define | E_DEBUG(level, x) |
Print debugging information to standard error stream. More... | |
#define | E_DEBUGCONT(level, x) |
Functions | |
SPHINXBASE_EXPORT void | _E__pr_header (char const *file, long line, char const *msg) |
SPHINXBASE_EXPORT void | _E__pr_debug_header (char const *file, long line, int level) |
SPHINXBASE_EXPORT void | _E__pr_info_header (char const *file, long line, char const *tag) |
SPHINXBASE_EXPORT void | _E__pr_info_header_wofn (char const *msg) |
SPHINXBASE_EXPORT void | _E__pr_warn (char const *fmt,...) |
SPHINXBASE_EXPORT void | _E__pr_info (char const *fmt,...) |
SPHINXBASE_EXPORT void | _E__die_error (char const *fmt,...) |
SPHINXBASE_EXPORT void | _E__abort_error (char const *fmt,...) |
SPHINXBASE_EXPORT void | _E__sys_error (char const *fmt,...) |
SPHINXBASE_EXPORT void | _E__fatal_sys_error (char const *fmt,...) |
SPHINXBASE_EXPORT FILE * | err_set_logfp (FILE *logfp) |
Direct all logging to a given filehandle. More... | |
SPHINXBASE_EXPORT FILE * | err_get_logfp (void) |
Get the current logging filehandle. More... | |
SPHINXBASE_EXPORT int | err_set_logfile (char const *file) |
Append all log messages to a given file. More... | |
SPHINXBASE_EXPORT int | err_set_debug_level (int level) |
Set debugging verbosity level. More... | |
SPHINXBASE_EXPORT int | err_get_debug_level (void) |
Get debugging verbosity level. More... | |
Implementation of logging routines.
Logging, warning, debug and error message output funtionality is provided in this file. Sphinxbase defines several level of logging messages - INFO, WARNING, ERROR, FATAL. By default output goes to standard error output.
Logging is implemented through macros. They take same arguments as printf: format string and values. By default source file name and source line are prepended to the message. Log output could be redirected to any file using err_set_logfp() and err_set_logfile() functions. To disable logging in your application, call err_set_logfp(NULL).
It's possible to log multiline info messages, to do that you need to start message with E_INFO and output other lines with E_INFOCONT.
Definition in file err.h.
#define E_DEBUG | ( | level, | |
x | |||
) |
Print debugging information to standard error stream.
This will only print a message if:
Note that for portability reasons the format and arguments must be enclosed in an extra set of parentheses.
SPHINXBASE_EXPORT int err_get_debug_level | ( | void | ) |
SPHINXBASE_EXPORT FILE* err_get_logfp | ( | void | ) |
Get the current logging filehandle.
Definition at line 157 of file err.c.
Referenced by cmd_ln_parse_r(), err_set_logfile(), and err_set_logfp().
SPHINXBASE_EXPORT int err_set_debug_level | ( | int | level | ) |
SPHINXBASE_EXPORT int err_set_logfile | ( | char const * | file | ) |
Append all log messages to a given file.
Previous logging filehandle is closed (unless it was stdout or stderr).
file | File to send log messages to, or NULL to disable logging. |
Definition at line 190 of file err.c.
References err_get_logfp().
Referenced by cmd_ln_parse_r().
SPHINXBASE_EXPORT FILE* err_set_logfp | ( | FILE * | logfp | ) |
Direct all logging to a given filehandle.
logfp | Filehandle to send log messages to, or NULL to disable logging. |
Definition at line 179 of file err.c.
References err_get_logfp().