Я пишу приложение, которое использует libssh, который по умолчанию регистрирует в stderr. Я хотел бы записать в журнал, чтобы я мог сделать что-то полезное с ним.
Libssh предоставляет некоторые функции для этой цели, но я не могу заставить их работать. Документация ограничена, и я не могу найти много там.
Функция, представленная в libssh / callbacks.h: int ssh_set_log_callback ( ssh_logging_callback cb )
документированный Вот.
ssh_logging_callback
задокументировано Вот
У меня есть следующий код в моем приложении:
static void ssh_log_function(int priority, const char *function, const char *buffer, void *userdata)
{
cout << priority << " " << function << endl << buffer << endl;
cout << "And now for something completely different" << endl;
}
Затем в моем приложении, прежде чем я выполню некоторые команды libssh, у меня есть это:
ssh_set_log_callback(ssh_log_function);
Когда я компилирую и выполняю, я получаю обычный вывод журнала в stderr и никаких признаков запуска функции, которую я создал.
Я что-то пропустил или делаю совершенно неправильно? Я пробовал проходить &ssh_log_function также не имеет значения.
Буду признателен за любую помощь! Спасибо!
Для тех, кто заинтересован, мне удалось заставить это работать, и вышеупомянутый код работает. Позже я просто устанавливал уровень журнала в неинициализированное целое число позже в моем коде. /Потерпеть поражение
Надеюсь, это поможет кому-то еще.