Add sr_spew/SR_LOG_SPEW for even more debug output.

This is meant for really extensive debug output which can slow down
operation significantly and should thus only be enabled if really needed.
This commit is contained in:
Uwe Hermann 2011-05-08 20:26:22 +02:00
parent a76983fd20
commit 06dd80d424
3 changed files with 16 additions and 2 deletions

16
log.c
View File

@ -32,12 +32,12 @@ static int sr_loglevel = SR_LOG_WARN; /* Show errors+warnings per default. */
* and so on) libsigrok will output. Using SR_LOG_NONE disables all messages.
*
* @param loglevel The loglevel to set (SR_LOG_NONE, SR_LOG_ERR, SR_LOG_WARN,
* SR_LOG_INFO, or SR_LOG_DBG).
* SR_LOG_INFO, SR_LOG_DBG, or SR_LOG_SPEW).
* @return SR_OK upon success, SR_ERR_ARG upon invalid loglevel.
*/
int sr_set_loglevel(int loglevel)
{
if (loglevel < SR_LOG_NONE || loglevel > SR_LOG_DBG) {
if (loglevel < SR_LOG_NONE || loglevel > SR_LOG_SPEW) {
sr_err("log: %s: invalid loglevel %d", __func__, loglevel);
return SR_ERR_ARG;
}
@ -85,6 +85,18 @@ int sr_log(int loglevel, const char *format, ...)
return ret;
}
int sr_spew(const char *format, ...)
{
int ret;
va_list args;
va_start(args, format);
ret = sr_logv(SR_LOG_SPEW, format, args);
va_end(args);
return ret;
}
int sr_dbg(const char *format, ...)
{
int ret;

View File

@ -42,6 +42,7 @@ int load_hwplugins(void);
/*--- log.c -----------------------------------------------------------------*/
int sr_log(int loglevel, const char *format, ...);
int sr_spew(const char *format, ...);
int sr_dbg(const char *format, ...);
int sr_info(const char *format, ...);
int sr_warn(const char *format, ...);

View File

@ -73,6 +73,7 @@ extern "C" {
#define SR_LOG_WARN 2
#define SR_LOG_INFO 3
#define SR_LOG_DBG 4
#define SR_LOG_SPEW 5
typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);