2016-12-09 6 views
0

Как включить xmpp_debug в библиотеке libstrophe? Похоже, нет отдельных переменного, чтобы включить и отключить опцию отладки, но я не могу видеть след, даже если добавить xmpp_debug на самомxmpp_debug в библиотеке libstrophe

+0

пожалуйста, помогите мне в этом, если какой-либо один знает libstrophe библиотеки –

ответ

0

Короче вводе функции, ваша задача требует надлежащего регистратора:

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); 
    ... 
} 
Смежные вопросы