C# 减少NANT+中的冗长;MSBUILD
我正试图减少NANT脚本产生的输出的冗长性,因为这需要很多小时 我曾尝试将msbuild命令链接参数设置为:C# 减少NANT+中的冗长;MSBUILD,c#,.net,msbuild,nuget,nant,C#,.net,Msbuild,Nuget,Nant,我正试图减少NANT脚本产生的输出的冗长性,因为这需要很多小时 我曾尝试将msbuild命令链接参数设置为:/v:m/clp:error,但仍然得到如下信息: RestorePackages: [exec] Restoring NuGet packages... 我还尝试在NANT脚本中将几乎所有内容都设置为verbose,但它仍然在控制台输出中得到它 <delete verbose="true" 您可以创建自己的任务容器,定义内部代码的日志级别
/v:m/clp:error,但仍然得到如下信息:
RestorePackages:
[exec] Restoring NuGet packages...
我还尝试在NANT脚本中将几乎所有内容都设置为verbose,但它仍然在控制台输出中得到它
<delete verbose="true"
您可以创建自己的任务容器,定义内部代码的日志级别
[TaskName("loglevel")]
public class LogLevelTask : TaskContainer
{
private Level _logLevel;
protected override void ExecuteTask()
{
Level oldLevel = Project.Threshold;
try
{
SetLogLevel(_logLevel);
base.ExecuteTask();
}
finally
{
SetLogLevel(oldLevel);
}
}
[TaskAttribute("level", Required = true)]
public Level LogLevel
{
get
{
return _logLevel;
}
set
{
_logLevel = value;
}
}
public void SetLogLevel(Level newLevel)
{
foreach(IBuildListener listener in Project.BuildListeners)
{
IBuildLogger logger = listener as IBuildLogger;
if(logger != null)
{
logger.Threshold = newLevel;
}
}
}
}
然后你可以把它添加到nant脚本中
<loglevel level="None"> <!-- You can set any other level -->
<!-- Do whatever you want -->
</loglevel>
你可以在这里了解更多