2017-02-18 17 views
1

Live555 Streaming Media librariesを使用してRTSPクライアントオブジェクトを開発しています。
ライブラリのデバッグログを有効にする方法を発見しましたが、stdoutに直接書き込まれます。
私のアプリケーションとのデバッグの目的とより良い統合のために、私はそれらのデバッグログを取得し、Log4cplusライブラリを使用する私のロギングシステムにリダイレクトしたいと思います。Live555デバッグログをカスタムアプリケーションログにリダイレクト

私はLive555のドキュメントで何か便利なものは見つけられません。必要な機能を実行するための文書化されていない機能がありますか?私。コンソールに直接出力するのではなく、デバッグログを取得するために登録する「ログコールバック」機能?

答えて

1

Live555ライブラリの場合、RTSPClient :: createNew()関数のverbosityLevelパラメータに1より大きいintを渡してデバッグログをアクティブにします。ライブラリのソースコードを見てみると

、デバッグログは、この方法で実装されています

if (fVerbosityLevel >= 1) envir() << "Sending request: " << cmd << "\n"; 

は、だから、UsageEnvironment*を返すENVIRを()、使用しています。

付属のBasicUsageEnvironment派生クラスを使用している場合は、fprintf()からstderr(stdoutではなく)を使用して演算子< <()を実装します。

私は、デバッグロギングを再実装するために、独自のUsageEnvironment派生クラスを作成する必要があると考えています。それを独自のロギングメカニズムに統合する必要があれば何でもしてください。

関連する問題