我可以将标准记录器与自定义构建记录器并排使用吗?

时间:2014-05-01 21:31:20

标签: c# logging msbuild

我有一个基于MSDN的BasicFileLogger示例的自定义构建记录器。它工作得很好,但是如果我想在构建服务器上使用它,我需要它的输出除了已经用默认记录器输出的内容之外,还要写入一个单独的文件(并且不同的选择)。为了使事情稍微有点兴趣,现有的构建日志记录方案每次都会创建一个新文件,但我希望我的附加到文件中。 (如果重要,我们通过单独调用msbuild.exe而不是使用主解决方案文件在命令行上构建多个项目。)

我正在研究的一种方法是封装一个实现我的默认记录器行为的类,它会在警告和错误事件中获得第一个破解,所以我可以用我的格式将它们写到我的文件中,但是然后将它们转发到内部类,将它们写入/ filelogger指定的文件中。第一个问题是,这有必要吗?如果是这样,我可以在命令行上传递两个不同的日志文件名,或者是否需要设置其中一个日志文件名"神奇地" (例如,使用环境变量),另一个使用/ filelogger传递。我认为这是此article中使用的一般方法。

1 个答案:

答案 0 :(得分:1)

当然!

查看命令行开关here。注意"追加"切换以启用请求的行为。

我看到该链接提供此示例以使用自定义记录器控制控制台输出:

MSBuild /nologo /noconsolelogger /logger:SimpleLogger.dll /verbosity:Detailed

您可以使用/ cl运行各种记录器来管理控制台记录器和/ flN用于各种文件记录器。

msbuild.exe /fl1 /flp1:Verbosity=diag;logfile=msbuild.log;append;