class Diagnostics::Logging::EventLogger

Класс со статическими методами для управления ведением журнала пакета SDK на основе обратного вызова. Включение ведения журнала при запуске сценария пакета SDK службы "Речь" предоставляет подробные сведения из основных собственных компонентов пакета SDK. Если вы сообщаете о проблеме в корпорацию Майкрософт, вам может быть предложено предоставить журналы, которые помогут корпорации Майкрософт диагностировать проблему. Приложение не должно зависеть от конкретных строк журнала, так как они могут изменяться от одного выпуска пакета SDK к другому без предварительного уведомления. Используйте EventLogger, если вы хотите получить доступ к новым строкам журнала, как только они получите доступ, и вам нужно их обработать. Например, интеграция журналов пакета SDK службы "Речь" с существующей системой сбора журналов. Добавлено в версии 1.20.0.

Ведение журнала событий — это конструкция для всего процесса. Это означает, что если (например) у вас есть несколько объектов распознавателя речи, работающих параллельно, можно зарегистрировать только одну функцию обратного вызова для получения журналов чередующегося кода от всех распознавателей. Вы не можете зарегистрировать отдельный обратный вызов для каждого распознавателя.

Элементы

SetCallback

Синтаксис: public inline static void SetCallback ( CallbackFunction_Type callback );

Зарегистрируйте функцию обратного вызова, которая будет вызываться для каждого нового сообщения журнала.

Параметры

  • callback функция обратного вызова. Задайте значение nullptr, чтобы остановить средство ведения журнала событий.

Можно зарегистрировать только одну функцию обратного вызова. Этот вызов будет выполняться в рабочем потоке пакета SDK, поэтому строка журнала должна быть скопирована где-то для дальнейшей обработки другим потоком, и функция должна немедленно вернуться. В этой функции обратного вызова не следует выполнять интенсивные обработки или сетевые вызовы.

SetFilters

Синтаксис: public inline static void SetFilters ( std::initializer_list< std::string > filters );

Задает или очищает фильтры для обратных вызовов. После установки фильтров обратный вызов будет вызываться только в том случае, если строка журнала содержит хотя бы одну из строк, указанных фильтрами. Совпадение учитывает регистр.

Параметры

  • filters Необязательный. Используемые фильтры или пустой список для очистки ранее заданных фильтров

SetLevel

Синтаксис: public inline static void SetLevel ( Level level );

Задает уровень сообщений, которые будут записаны с помощью средства ведения журнала.

Параметры

  • level Максимальный уровень детализации, который будет захватывать средство ведения журнала.

CallbackFunction_Type

Синтаксис: typedef CallbackFunction_Type;