2016-07-11 11 views
1

Ich versuche, die Ausführlichkeit der Ausgabe von einem NANT-Skript seit vielen Stunden zu reduzieren.Reduzieren Ausführlichkeit in NANT + MSBUILD

Ich habe versucht, um die msbuild Befehl Link Parameter einstellen: /v:m /clp:ErrorsOnly aber ich habe noch Informationen erhalten wie:

RestorePackages: 
    [exec]   Restoring NuGet packages... 

Ich habe auch versucht, fast alles zu setzen in der NANT Skript --verbose, aber es immer noch bekommen es in der Konsolenausgabe

<delete verbose="true" 

ich habe versucht, viel google, aber ich konnte es nicht schaffen das Protokoll der NANT/MSBUILD zu löschen.

Antwort

1

Sie können Ihre eigenen Aufgaben-Container erstellen, die

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

für den inneren Code Protokollebene definiert und dann können Sie es mit dem Nant Skript hinzufügen

<loglevel level="None"> <!-- You can set any other level --> 
    <!-- Do whatever you want --> 
</loglevel> 

Sie mehr über hier lesen http://www.neovolve.com/2008/01/16/loglevel-nant-task/