デフォルトで stderr にログを記録する libssh を使用するアプリケーションを作成しています。ロギングをキャプチャして、何か役に立つことができるようにしたいと思います。
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);
コンパイルして実行すると、標準エラー出力に通常のログ出力が表示され、作成した関数が実行されている兆候はありません。
私は何かを見逃しましたか、それとも完全に間違っていますか? &ssh_log_function も渡してみましたが、違いはありませんでした。
助けていただければ幸いです!ありがとう!