如何降低docfx的详细程度?

时间:2018-12-04 12:45:00

标签: c# msbuild verbosity docfx

我们使用docfx,它作为nuget包含在我们的一个csproj文件中。我没有亲自设置它,也没有关于它如何工作的更多信息,但看起来像一个简单的nuget添加到C#项目中,然后在Visual Studio中的项目编译过程中生成了文档。

我们的问题是,构建日志的详细程度始终设置为冗长(或详细或他们如何称呼),即我在解决方案中有20个c#项目,并且由于我没有警告或错误,因此在整个解决方案的输出窗口非常短,每个项目只有几行。但是,这个带有d​​ocfx的项目在编译期间始终会产生很多输出,因为它会将所有详细消息写入“输出”窗口(以及写入位于项目目录中的log.txt文件中)。

问题是如何从“输出”窗口中消除此问题。我尝试用Google搜索它,发现命令行上的--logLevel警告参数可以降低详细程度。但是我们不使用任何命令行,在项目中有nuget。而且我看不到可以指定此--logLevel警告的地方。

(使用最新的nuget“ docfx.console”版本2.40.4,C#项目为类库类型。我在任何地方都看不到任何特殊设置。对于msbuild详细程度的Visual Studio设置,对于“输出”窗口和日志文件。)

1 个答案:

答案 0 :(得分:3)

编辑: 自从我的第一反应以来,我已经找到了在项目级别执行此操作的更好方法。

如果您编辑DocFx项目的 .csproj 文件以包括以下属性组,则可以在项目上设置日志级别。

<PropertyGroup>
  <LogLevel>Warning</LogLevel>
</PropertyGroup>

我从以下有关git问题的评论中得到了这个主意:https://github.com/dotnet/docfx/issues/2595#issuecomment-379947069


原始响应:

我只找到一种方法来做到这一点,但是它将在全球范围内进行,如果您升级到新版本,则可能不得不再次设置它。

您可以修改docfx.console.targets文件以更改日志级别。在我的计算机上,可以找到

C:\Users\<username>\.nuget\packages\docfx.console\<version number>\build\docfx.console.targets

这是一个XML文件,您可以在其中放置要使用的日志级别。

<Project ...>
  <PropertyGroup>
    ...
    <LogLevel Condition=" '$(LogLevel)' == '' ">Verbose</LogLevel>
    ...
  </PropertyGroup>

我将“详细”更改为“警告”,这大大减少了所生成的日志消息。

希望这对您也有帮助!