Defines | |
#define | di_error(format...) di_log (DI_LOG_LEVEL_ERROR, format) |
#define | di_warning(format...) di_log (DI_LOG_LEVEL_WARNING, format) |
#define | di_info(format...) di_log (DI_LOG_LEVEL_INFO, format) |
#define | di_debug(format...) di_log (DI_LOG_LEVEL_DEBUG, format) |
Typedefs | |
typedef void | di_log_handler (di_log_level_flags log_level, const char *message, void *user_data) |
Enumerations | |
enum | di_log_level_flags { DI_LOG_FLAG_FATAL = 1 << 1, DI_LOG_LEVEL_ERROR = 1 << 2, DI_LOG_LEVEL_CRITICAL = 1 << 3, DI_LOG_LEVEL_WARNING = 1 << 4, DI_LOG_LEVEL_MESSAGE = 1 << 5, DI_LOG_LEVEL_INFO = 1 << 6, DI_LOG_LEVEL_DEBUG = 1 << 7, DI_LOG_LEVEL_OUTPUT = 1 << 8, DI_LOG_LEVEL_MASK = ~DI_LOG_FLAG_FATAL, DI_LOG_FATAL_MASK = DI_LOG_LEVEL_ERROR } |
Log levels and other flags. More... | |
Functions | |
void | di_log (di_log_level_flags log_level, const char *format,...) __attribute__((format(printf |
void void | di_vlog (di_log_level_flags log_level, const char *format, va_list args) |
unsigned int | di_log_set_handler (di_log_level_flags log_levels, di_log_handler *log_func, void *user_data) |
Variables | |
di_log_handler | di_log_handler_default |
di_log_handler | di_log_handler_syslog |
#define di_debug | ( | format... | ) | di_log (DI_LOG_LEVEL_DEBUG, format) |
logs debug info
#define di_error | ( | format... | ) | di_log (DI_LOG_LEVEL_ERROR, format) |
logs an error
Referenced by di_malloc(), di_malloc0(), and di_realloc().
#define di_info | ( | format... | ) | di_log (DI_LOG_LEVEL_INFO, format) |
logs information
#define di_warning | ( | format... | ) | di_log (DI_LOG_LEVEL_WARNING, format) |
logs a warning
Referenced by di_parser_rfc822_read().
enum di_log_level_flags |
Log levels and other flags.
{ DI_LOG_FLAG_FATAL = 1 << 1, DI_LOG_LEVEL_ERROR = 1 << 2, DI_LOG_LEVEL_CRITICAL = 1 << 3, DI_LOG_LEVEL_WARNING = 1 << 4, DI_LOG_LEVEL_MESSAGE = 1 << 5, DI_LOG_LEVEL_INFO = 1 << 6, DI_LOG_LEVEL_DEBUG = 1 << 7, DI_LOG_LEVEL_OUTPUT = 1 << 8, DI_LOG_LEVEL_MASK = ~DI_LOG_FLAG_FATAL, DI_LOG_FATAL_MASK = DI_LOG_LEVEL_ERROR, }
void di_log | ( | di_log_level_flags | log_level, | |
const char * | format, | |||
... | ||||
) |
Logs the resolved formatstring with log_level
log_level | the level of the message | |
format | printf compatible format |
unsigned int di_log_set_handler | ( | di_log_level_flags | log_levels, | |
di_log_handler * | log_func, | |||
void * | user_data | |||
) |
Sets a log handler
log_levels | levels | |
log_func | the log handler | |
user_data | data for log_func |
References di_new, di_slist_append(), di_log_handler_struct::id, di_log_handler_struct::log_func, di_log_handler_struct::log_level, and di_log_handler_struct::user_data.
Referenced by di_system_init().
{ static unsigned int handler_id = 0; di_log_handler_struct *handler; handler = di_new (di_log_handler_struct, 1); handler->id = ++handler_id; handler->log_level = log_levels; handler->log_func = log_func; handler->user_data = user_data; di_slist_append (&handlers, handler); return handler_id; }
void void di_vlog | ( | di_log_level_flags | log_level, | |
const char * | format, | |||
va_list | args | |||
) |
Logs the resolved formatstring with log_level
log_level | the level of the message | |
format | printf compatible format | |
args | variable arguments list |
{ char buf[1024]; int fatal = log_level & DI_LOG_FATAL_MASK; di_log_handler *log_func; void *user_data=0; vsnprintf (buf, sizeof (buf), format, args); log_func = internal_di_log_get_handler (log_level, &user_data); log_func (log_level, buf, user_data); if (fatal) exit (1); }
di_log_handler di_log_handler_default |
Default log handler. Logs to STDOUT and STDERR.
di_log_handler di_log_handler_syslog |
SYSLOG log handler. Logs to SYSLOG.
Referenced by di_system_init().