代码之家  ›  专栏  ›  技术社区  ›  Uli Gerhardt

修剪MSBuild文件记录器输出

  •  2
  • Uli Gerhardt  · 技术社区  · 14 年前

    如果我编译这个Delphi2007项目

    program MyProject;
    
    {$APPTYPE CONSOLE}
    
    procedure Test;
    var
      i: Integer;
    begin
      if i = 666 then
        i := 42;
    end;
    
    begin
      Test;
    end.
    

    从命令行

        MSBuild MyProject.dproj /t:Rebuild /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=log.txt;verbosity=minimal
    

        __________________________________________________
        Projekt C:\Documents and Settings\pcbs1251\My Documents\RAD Studio\Projekte\MyProject\MyProject.dproj (Rebuild-Ziel(e)):
    
        C:\Program Files\CodeGear\RAD Studio\5.0\bin\dcc32.exe -B -DRELEASE [SNIP] MyProject.dpr   
        CodeGear Delphi für Win32 Compiler-Version 18.5
        Copyright (c) 1983,2007 CodeGear
    
        MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt
    
        c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets : warning : MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden
        MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden
    
        17 Zeilen, 0.00 Sekunden, 11016 Byte-Code, 12156 Byte-Daten.
        Erstellen des Projekts MyProject.dproj beendet.
    

    现在我想把这个剪成

        MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt
        MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden
    

    更新: 由于似乎没有办法让MSBuild做我想做的事情,我终于编写了一个小的Delphi程序来根据我的需要格式化MSBuild输出。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Barry Kelly    14 年前

    我通常用grep、sed和awk来做这样的事情。

        2
  •  2
  •   Jay Bazuzi Buck Hodges    14 年前

    尝试 msbuild /v:m

    许多命令行工具都有一个'/nologo'选项,可以提供帮助。也许你可以把它交给dcc。也许你得编辑.targets文件。