クラス Diagnostics::Logging::EventLogger
コールバック ベースの SDK ログ記録を制御する静的メソッドを持つクラス。 Speech SDK シナリオの実行中にログ記録を有効にすると、SDK のコア ネイティブ コンポーネントから詳細情報が提供されます。 Microsoft に問題を報告した場合は、Microsoft が問題を診断するのに役立つログを提供するように求められる場合があります。 アプリケーションは特定のログ文字列に依存しないようにする必要があります。これは、SDK リリース間で予告なしに変更される可能性があるためです。 EventLogger は、新しいログ文字列が使用可能になったらすぐにアクセスし、さらに処理する必要がある場合に使用します。 たとえば、Speech SDK ログを既存のログ収集システムと統合します。 バージョン 1.20.0 で追加されました。
イベント ログは、プロセス全体のコンストラクトです。 つまり、複数の音声認識エンジン オブジェクトが並列で実行されている場合は、すべての認識エンジンからインターリーブログを受信するコールバック関数を 1 つだけ登録できます。 認識エンジンごとに個別のコールバックを登録することはできません。
メンバー
SetCallback
構文: public inline static void SetCallback ( CallbackFunction_Type callback );
新しいログ メッセージごとに呼び出されるコールバック関数を登録します。
パラメーター
-
callback
を呼び出すコールバック関数。 イベント ロガーを停止するには、nullptr 値を設定します。
登録できるコールバック関数は 1 つだけです。 この呼び出しは SDK の作業スレッドで行われるので、ログ文字列は別のスレッドによる処理のためにどこかにコピーする必要があり、関数はすぐに戻る必要があります。 このコールバック関数では、大量の処理やネットワーク呼び出しを行う必要はありません。
SetFilters
構文: public inline static void SetFilters ( std::initializer_list< std::string > filters );
コールバックのフィルターを設定またはクリアします。 フィルターが設定されると、ログ文字列にフィルターで指定された文字列の少なくとも 1 つが含まれている場合にのみ、コールバックが呼び出されます。 一致では大文字と小文字が区別されます。
パラメーター
-
filters
省略可能。 使用するフィルター、または以前に設定したフィルターをクリアするための空のリスト
SetLevel
構文: public inline static void SetLevel ( Level level );
ロガーによってキャプチャされるメッセージのレベルを設定します。
パラメーター
-
level
ロガーによってキャプチャされる最大詳細レベル。
CallbackFunction_Type
構文: typedef CallbackFunction_Type;