次の方法で共有


クラス Diagnostics::Logging::MemoryLogger

メモリ内バッファーへの SDK のログインを制御する静的メソッドを持つ クラス。 Speech SDK シナリオの実行中にログ記録を有効にすると、SDK のコア ネイティブ コンポーネントから詳細情報が提供されます。 Microsoft に問題を報告した場合は、Microsoft が問題を診断するのに役立つログを提供するように求められる場合があります。 アプリケーションは特定のログ文字列に依存しないようにする必要があります。これは、SDK リリース間で予告なしに変更される可能性があるためです。 MemoryLogger は、予期しないイベントが発生する前に短時間に取得されたログにアクセスする場合に使用します。 たとえば、Speech Recognizer を実行している場合は、何らかのエラーが原因で認識が取り消されたことを示すイベントが発生した後に MemoryLogger をダンプすることができます。 メモリ バッファーのサイズは 2 MB で固定されており、変更できません。 これは "リング" バッファーです。つまり、書き込まれた新しいログ文字列は、バッファー内の最も古いものを置き換えます。 バージョン 1.20.0 で追加されました。

メモリ ログは、プロセス全体のコンストラクトです。 つまり、複数の音声認識エンジン オブジェクトが並列で実行されている場合は、すべての認識エンジンからのインターリーブ ログを含むメモリ バッファーが 1 つ存在します。 認識エンジンごとに個別のログを取得することはできません。

メンバー

開始

構文: public inline static void Start ( );

内部メモリ バッファーへのログインを開始します。

Stop

構文: public inline static void Stop ( );

内部メモリ バッファーへのログインを停止します。

SetFilters

構文: public inline static void SetFilters ( std::initializer_list< std::string > filters );

メモリ ログのフィルターを設定またはクリアします。 フィルターが設定されると、メモリ ロガーは、フィルターで指定された文字列の少なくとも 1 つを含むログ文字列でのみ更新されます。 一致では大文字と小文字が区別されます。

パラメーター

  • filters 省略可能。 使用するフィルター、または以前に設定したフィルターを削除する空のリスト。

ダンプ

構文: public inline static void Dump ( const SPXSTRING & filePath );

メモリ バッファー全体の内容を指定したファイルに書き込みます。 他の SDK スレッドがバッファーにログインし続けるのをブロックすることはありません。

パラメーター

  • filePath ローカル ディスク上のログ ファイルへのパス。

これは、メモリ バッファーをリセット (クリア) しません。

ダンプ

構文: public inline static void Dump ( std::ostream & outStream );

メモリ バッファー全体の内容を std::ostream を実装するオブジェクトに書き込みます。 たとえば、std::cout (コンソール出力の場合)。 他の SDK スレッドがバッファーにログインし続けるのをブロックすることはありません。

パラメーター

  • outStream 書き込む std::ostream オブジェクト。

これは、メモリ バッファーをリセット (クリア) しません。

ダンプ

構文: public inline static std::vector< std::string > Dump ( );

メモリ バッファー全体の内容を文字列のベクターとして返します。 他の SDK スレッドがバッファーにログインし続けるのをブロックすることはありません。

戻り値

メモリ バッファーの内容がコピーされたベクター。

これは、メモリ バッファーをリセット (クリア) しません。

SetLevel

構文: public inline static void SetLevel ( Level level );

ロガーによってキャプチャされるメッセージのレベルを設定します。

パラメーター

  • level ロガーによってキャプチャされる最大詳細レベル。