mutex_handle_t cb_mutex;
int level;
+ void *cls;
logger_callback_t callback;
};
MUTEX_CREATE(logger->lvl_mutex);
MUTEX_CREATE(logger->cb_mutex);
- logger->level = LOGGER_DEBUG;
+ logger->level = LOGGER_WARNING;
logger->callback = NULL;
return logger;
}
}
void
-logger_set_callback(logger_t *logger, logger_callback_t callback)
+logger_set_callback(logger_t *logger, logger_callback_t callback, void *cls)
{
assert(logger);
MUTEX_LOCK(logger->cb_mutex);
+ logger->cls = cls;
logger->callback = callback;
MUTEX_UNLOCK(logger->cb_mutex);
}
MUTEX_LOCK(logger->cb_mutex);
if (logger->callback) {
- logger->callback(level, buffer);
+ logger->callback(logger->cls, level, buffer);
MUTEX_UNLOCK(logger->cb_mutex);
} else {
char *local;