Короче вводе функции, ваша задача требует надлежащего регистратора:
int main()
{
xmpp_log_t *log;
xmpp_ctx_t *ctx;
...
log = xmpp_get_default_logger(XMPP_LEVEL_DEBUG);
ctx = xmpp_ctx_new(NULL, log);
...
}
С этим регистратором каждое сообщение отладки (и более высокого уровня) будет напечатано на stderr.
Кроме того, libstrophe позволяет сделать собственные регистраторы:
static void my_logger(void *userdata,
const xmpp_log_level_t level,
const char * const area,
const char * const msg)
{
static const char *levels[] = {
[XMPP_LEVEL_DEBUG] = "DEBUG",
[XMPP_LEVEL_INFO] = "INFO",
[XMPP_LEVEL_WARN] = "WARN",
[XMPP_LEVEL_ERROR] = "ERROR",
};
(void)userdata;
/* This example simply prints the message to stdout. */
printf("[%s] %s: %s\n", levels[level], area, msg);
}
int main()
{
xmpp_log_t log = { .handler = &my_logger };
xmpp_ctx_t *ctx;
...
ctx = xmpp_ctx_new(NULL, &log);
...
}
пожалуйста, помогите мне в этом, если какой-либо один знает libstrophe библиотеки –