类 Diagnostics::Logging::FileLogger

具有静态方法的类,用于控制基于文件的 SDK 日志记录。 在运行语音 SDK 方案时启用日志记录可提供 SDK 核心本机组件的详细信息。 如果向 Microsoft 报告问题,系统可能会要求你提供日志以帮助 Microsoft 诊断问题。 应用程序不应依赖于特定的日志字符串,因为它们可能会在不通知的情况下从一个 SDK 版本更改为另一个版本。 FileLogger 是最简单的日志记录解决方案,适用于在运行语音 SDK 时诊断大多数设备上的问题。 在版本 1.20.0 中添加。

文件日志记录是进程范围的构造。 这意味着,如果 (例如) 有多个语音识别器对象并行运行,则将有一个日志文件包含来自所有识别器的交错日志行。 不能为每个识别器获取单独的日志文件。

成员

开始

语法: public inline static void Start ( const std::string & filePath , bool append );

开始记录到文件。

参数

  • filePath 本地磁盘上的日志文件的路径

  • append(可选)。 如果为 true,则 追加到现有日志文件。 如果为 false,则创建新的日志文件

请注意,每次对文件执行写入操作后,都会立即刷新到磁盘。 对于典型用法 (例如,一个语音识别器和一个固态硬盘 (SSD) ) ,这不应导致性能问题。 但是,在同时运行多个语音 SDK 识别器或其他 SDK 对象时,你可能希望避免文件日志记录。 请改用 MemoryLogger 或 EventLogger。

停止

语法: public inline static void Stop ( );

停止记录到文件。

此调用是可选的。 如果日志记录为已启动,则当进程正常存在时,将写入日志文件。

SetFilters

语法: public inline static void SetFilters ( std::initializer_list< std::string > filters );

设置或清除应用于文件日志记录的筛选器。 设置筛选器后,仅当日志字符串包含筛选器指定的至少一个字符串时,才会调用回调。 匹配区分大小写。

参数

  • filters(可选)。 要使用的筛选器,或用于删除以前设置的筛选器的空列表。

SetLevel

语法: public inline static void SetLevel ( Level level );

设置记录器要捕获的消息的级别。

参数

  • level 记录器要捕获的最大详细信息级别。