运行MSBuild.exe时文件记录器的可用参数是什么?

时间:2010-04-22 13:52:23

标签: msbuild

我在MSDN上看过MSBuild Command-Line Reference/logger参数),但它绝对不够清楚。我需要一个文件记录器的可用参数列表。

2 个答案:

答案 0 :(得分:16)

以下是MSBuild 3.5的参数

  • 附加:如果存在现有日志文件,则会将其附加到而不是覆盖。您无需为此参数指定值;它的存在将使它成立。实际上,如果指定一个值,甚至是false,它将被忽略! 默认值为false。
  • 编码:用于指定将用于写入日志文件的编码。这由System.Text.Encoding.GetEncoding(string)方法解释。 默认值是系统的默认编码。
  • 日志文件:指定日志文件的写入路径。 默认值为msbuild.log。
  • 详细程度:用于指定记录器详细程度的值。这使用与前面提到的相同的值。 默认值为2.0表示正常,3.5表示详细。
  • PerformanceSummary :作为参数传递时,控制台记录器将输出消息,显示构建任务,目标和项目所花费的时间。如果您试图描述长时间运行的构建,这可能非常有用。
  • NoSummary :传递时,会禁止通常显示在日志末尾的错误和警告摘要。
  • NoItemAndPropertyList :表示在使用诊断详细程度设置时,不显示通常在构建日志开头显示的属性和项的值。
  • 摘要:在日志末尾显示错误和警告摘要。
  • 错误仅:仅显示错误。
  • 警告仅:仅显示警告。
  • ShowTimestamp :显示每封邮件的时间戳。
  • ShowEventId :显示已启动,已完成和消息事件的事件ID。
  • DisableMPLogging :在非多处理器模式下运行时,禁用输出的多处理器日志记录样式。
  • EnableMPLogging :即使在非多处理器模式下运行,也启用多处理器日志记录样式。默认情况下,此日志记录样式处于启用状态。

我从我的书Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build中读到了这个。

答案 1 :(得分:7)

如果要指定自定义记录器,则/ logger参数很有用。在您的情况下,您只需使用包含文件记录器。

msbuild /fileLogger

此命令将构建输出记录到当前目录中的单个文件(“msbuild.log”)。

如果要指定目录,请使用此命令:

msbuild /fileLogger /fileLoggerParameters:LogFile=MyLog.log;Append;Verbosity=diagnostic;Encoding=UTF-8