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.
Defines | |
#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. | |
#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. | |
SPHINXBASE_EXPORT FILE * | err_get_logfp (void) |
Get the current logging filehandle. | |
SPHINXBASE_EXPORT int | err_set_logfile (char const *file) |
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. |
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: 1. Debugging is enabled at compile time 2. The debug level is greater than or equal to level
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().
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().