Libssh日志回调ssh_set_log_callback()

libssh logging callback ssh_set_log_callback()

本文关键字:callback log set 回调 ssh Libssh 日志      更新时间:2023-10-16

我正在编写一个使用libssh的应用程序,它默认情况下记录为stderr。我想捕获日志记录,以便我可以用它做一些有用的事情。

Libssh似乎提供了一些用于此目的的函数,但我似乎无法使它们工作。文档是有限的,我似乎找不到太多。

libssh/callback .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,但没有任何区别。

感谢您的帮助!谢谢!

对于任何感兴趣的人,我设法让这个工作,上面的代码工作。我只是在后面的代码中将日志级别设置为一个未初始化的整数。/失败