查看、保存和配置生成日志文件

在 Visual Studio 交互式开发环境 (IDE) 中生成项目后,你可以在 Visual Studio 输出窗口中查看有关生成的记录信息。 输出数据可以保存到可在 Visual Studio 和其他编辑器中查看的日志文件中。

日志可以帮助你排查生成中的问题。 你可以找到用于所有生成工具的确切命令行,并获取有关整个生成过程的完整诊断数据。 Visual Studio 提供用于指定要在生成输出和生成日志文件中查看的信息类型的选项。

本文将介绍如何在 Visual Studio 中生成、配置和查看生成日志文件。

生成和查看生成日志文件

使用以下过程生成和查看方案生成日志文件。

  • C++ 项目:

    生成项目时,Visual Studio 会为你保存日志文件。 日志文件的常见位置包括 Release\<ProjectName>.logDebug\<ProjectName>.log<ProjectName>.txt。 所有文件位置都是相对于项目根文件夹的位置,并且基于特定配置。

    1. 使用 Windows 资源管理器文件资源管理器浏览到日志文件。

    2. 在自己偏好的编辑器中打开日志文件。

  • .NET 项目

    对于 .NET 项目,你指示 Visual Studio 保存日志文件:

    1. 在 Visual Studio 中,选择生成>生成解决方案

    2. 输出窗口中,选择文本并使用 Ctrl+S 键盘快捷方式。

    Visual Studio 会提示你输入用于保存生成输出的位置。 然后,你可以在 Visual Studio 或其他编辑器中从该位置打开日志文件。

  • MSBuild

    你还可以使用 -fileLogger (-fl) 命令行选项,通过直接从命令行运行 MSBuild 来生成日志。 有关详细信息,请参阅使用 MSBuild 获取生成日志

    使用 MSBuild,还可以生成二进制日志(-binaryLogger-bl 命令行选项)。 可以在结构化日志查看器中查看二进制日志。 结构化日志查看器提供更丰富的 UI,利用此 UI,可以更轻松地理解复杂的生成过程。

你可以设置环境变量,以将 Visual Studio 配置为将二进制日志写入文件系统。 将 MSBuildDebugEngine 设置为 1,并将 MSBUILDDEBUGPATH 设置为生成日志文件的所需位置。 必须在启动 Visual Studio 的环境中设置变量。 这些设置会影响所有 Visual Studio 内部版本,因此,因此如果只想获取生成的特定调用的日志,那么这可能不是一个好的选择。

有关 .NET 项目中生成日志记录的更高级 UI 支持,请考虑安装项目系统工具扩展。 安装此扩展后,可以在 UI 中打开和关闭二进制日志记录,然后从日志列表中进行选择。 但是,由于它与 Visual Studio 生成系统的集成方式的缘故,日志与从输出窗口或环境变量中获取的日志略有不同。

指定生成日志的数据详细程度

你可以指定要包含在生成日志文件中的信息量。 日志文件列中的数据量会作为记录器详细程度进行度量。 日志文件行数表示收集的消息。 日志详细程度(列值)将影响记录的消息类型(行值)。 安静详细程度在生成输出中生成的日志记录最少。 诊断是最详细的设置,并且会生成包含所有可能数据的日志文件。

下表显示了根据记录器详细程度收集的消息类型:

消息类型/详细程度 Quiet 最低 普通 详细 诊断
错误
警告
高重要性消息
一般重要性消息
低重要性消息
其他 MSBuild 引擎信息

你可以使用以下步骤配置记录器详细程度:

  1. 在 Visual Studio 中,选择工具>选项以打开选项对话框。

  2. 在对话框中,展开项目和解决方案部分,然后选择生成并运行选项卡。

  3. 使用 MSBuild 项目生成输出详细程度下拉列表,并选择生成输出首选项。

  4. 使用 MSBuild 项目生成日志文件详细程序下拉列表,并选择记录器详细程度首选项。

    提示

    若要查看用于编译器和其他工具的命令行,请至少选择详细详细程度级别。

  5. 要应用更改,请选择确定

重要

你必须重新生成项目,才能在输出窗口中使更改生效。 对于 C++ 项目,项目重新生成还可确保在 <ProjectName>.txt 文件中反映更改。

有关详细信息,请参阅“选项”对话框->“项目和解决方案”->“生成和运行”LoggerVerbosity

对大型日志文件使用二进制日志

二进制日志是 .NET 项目的一项可选功能,使你可以获得更丰富的日志浏览体验,从而可以更轻松地在大型日志中查找信息。 若要使用二进制日志,请安装项目系统工具。 有关详细信息,请参阅 https://msbuildlog.com二进制日志.

二进制日志是 .NET 项目的一项可选功能,使你可以获得更丰富的日志浏览体验,从而可以更轻松地在大型日志中查找信息。 若要使用二进制日志,请安装项目系统工具 2022。 有关详细信息,请参阅 https://msbuildlog.com二进制日志.