2016-07-11 2 views
1

Я пытаюсь уменьшить многословие вывода, созданного скриптом NANT, с тех пор, как много часов.Уменьшить многословие в NANT + MSBUILD

Я попытался установить параметры команды MSBuild ссылку на: /v:m /clp:ErrorsOnly, но я все еще получаю информацию, как:

RestorePackages: 
    [exec]   Restoring NuGet packages... 

Я также попытался установить почти все, чтобы подробен сценарий NANT, но это все еще получить его в консоли вывода

<delete verbose="true" 

Я попытался Google много, но я не мог управлять, чтобы очистить журнал NANT/MSBUILD.

ответ

1

Вы можете создать свой собственный контейнер задач, который определяет уровень протоколирования для внутреннего кода

 [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> 

Вы можете прочитать больше о здесь http://www.neovolve.com/2008/01/16/loglevel-nant-task/

Смежные вопросы