Získání protokolů sestavení pomocí nástroje MSBuild

Pomocí možností příkazového řádku s nástrojem MSBuild můžete určit, kolik dat sestavení chcete zkontrolovat a zda chcete uložit data sestavení do jednoho nebo více souborů. Můžete také zadat vlastní protokolovací nástroj pro shromažďování dat sestavení. Informace o možnostech příkazového řádku NÁSTROJE MSBuild, které toto téma nepokrývá, najdete v tématu Odkaz na příkazový řádek.

Poznámka:

Pokud vytváříte projekty pomocí integrovaného vývojového prostředí sady Visual Studio, můžete tyto sestavení vyřešit kontrolou protokolů sestavení. Další informace naleznete v tématu Postupy: Zobrazení, uložení a konfigurace souborů protokolu sestavení.

Nastavení úrovně podrobností

Při vytváření projektu pomocí nástroje MSBuild bez zadání úrovně podrobností se ve výstupním protokolu zobrazí následující informace:

  • Chyby, upozornění a zprávy, které jsou zařazené do kategorií jako vysoce důležité.

  • Některé události stavu.

  • Souhrn sestavení.

Pomocí přepínače -verbosity (-v) můžete určit, kolik dat se zobrazí ve výstupním protokolu. Při řešení potíží použijte úroveň detailed podrobností (d) nebo diagnostic (diag), která poskytuje nejvíce informací.

Proces sestavení může být pomalejší, když nastavíte -verbosity na detailed hodnotu -verbosity a ještě pomaleji, když nastavíte hodnotu -verbosity na diagnostichodnotu .

msbuild MyProject.proj -t:go -v:diag

Nastavení podrobností

Následující tabulka ukazuje, jak podrobnost protokolu (hodnoty sloupců) ovlivňuje, které typy zpráv (hodnoty řádků) se protokolují.

Typ zprávy / podrobnosti Quiet Minimální Normální Podrobné Diagnostika
Chyby
Upozornění
Zprávy s vysokou důležitostí
Zprávy s normální důležitostí
Zprávy s nízkou důležitostí
Další informace o modulu MSBuild

Uložení protokolu sestavení do souboru

K uložení dat sestavení do souboru můžete použít přepínač -fileLogger (fl). Následující příklad uloží data sestavení do souboru s názvem msbuild.log.

msbuild MyProject.proj -t:go -fileLogger

V následujícím příkladu má soubor protokolu název MyProjectOutput.log a úroveň podrobností výstupu protokolu je nastavena na diagnostichodnotu . Tato dvě nastavení zadáte pomocí přepínače -fileLoggerParameters (flp).

msbuild MyProject.proj -t:go -fl -flp:logfile=MyProjectOutput.log;verbosity=diagnostic

Další informace najdete v tématu Referenční informace k příkazovému řádku.

Uložení výstupu protokolu do více souborů

Následující příklad uloží celý protokol do msbuild1.log, jenom chyby JustErrors.log a jenom upozornění na JustWarnings.log. Příklad používá čísla souborů pro každý ze tří souborů. Čísla souborů se zadají hned za přepínači -fl a -flp (například -fl1 a -flp1).

Přepínače -fileLoggerParameters (flp) pro soubory 2 a 3 určují, co má každý soubor pojmenovat a co zahrnout do každého souboru. Pro soubor 1 není zadán žádný název, takže se použije výchozí název msbuild1.log .

msbuild MyProject.proj -t:go -fl1 -fl2 -fl3 -flp2:logfile=JustErrors.log;errorsonly -flp3:logfile=JustWarnings.log;warningsonly

Další informace najdete v tématu Referenční informace k příkazovému řádku.

Uložení binárního protokolu

Protokol můžete uložit komprimovaný binární formát pomocí přepínače -binaryLogger (bl). Tento protokol obsahuje podrobný popis procesu sestavení a může ho číst určité nástroje pro analýzu protokolů.

V následujícím příkladu se vytvoří binární soubor protokolu s názvem binarylogfilename.

-bl:binarylogfilename.binlog

Pomocí prohlížeče strukturovaných protokolů můžete zobrazit binární protokoly způsobem, který usnadňuje zobrazení toho, co se děje.

Další informace najdete v tématu Referenční informace k příkazovému řádku.

Použití vlastního protokolovacího nástroje

Vlastní protokolovací nástroj můžete napsat vytvořením spravovaného typu, který implementuje ILogger rozhraní. Vlastní protokolovací nástroj můžete například použít k odesílání chyb sestavení v e-mailu, k jejich protokolování do databáze nebo k jejich zaprotokolování do souboru XML. Další informace naleznete v tématu Protokolovací nástroje sestavení.

V příkazovém řádku MSBuild zadáte vlastní protokolovací nástroj pomocí přepínače -logger . K zakázání výchozího protokolovacího nástroje konzoly můžete použít také přepínač -noconsolelogger .