我创建了一个自定义记录器,它来自Logger
类,并且能够将它附加到MSBuild。除了我无法将任何参数传递给记录器外,一切似乎都有效。我用来运行MSBuild的命令行:
msbuild Sample.proj /noconsolelogger /l:CustomLogger,MSBuildCustomLogger.dll;param1=value1;param2=value2
我正在覆盖记录器的Initialize(IEventSource eventSource)
,如下所示:
public override void Initialize(IEventSource eventSource)
{
try
{
InitializeParameters();
}
catch (Exception e)
{
throw new LoggerException("Unable to initialize the logger", e);
}
}
InitializeParameters()
将使用Parameters
中的Logger
属性来解析给定的参数。但此时Parameters
属性始终为null
。所以它让我觉得MSBuild没有设置Parameters
字符串。如何将记录器参数传递给自定义记录器?我很感激有关此问题的任何帮助/提示。
答案 0 :(得分:0)
第一个参数应该是日志文件名:
l:CustomLogger,MSBuildCustomLogger.dll;custom.log;param1=value1;param2=value2