Získání protokolů sestavení pomocí nástroje MSBuildObtain build logs with MSBuild

Pomocí přepínačů 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ů.By using switches with MSBuild, you can specify how much build data you want to review and whether you want to save build data to one or more files. Můžete také zadat vlastní protokolovací nástroj pro shromažďování dat buildu.You can also specify a custom logger to collect build data. Informace o přepínačích příkazového řádku MSBuild, které toto téma popisuje, najdete v tématu Reference k příkazovému řádku.For information about MSBuild command-line switches that this topic doesn't cover, see Command-line reference.

Poznámka

Pokud vytváříte projekty pomocí integrovaného vývojového prostředí (IDE) sady Visual Studio, můžete tyto sestavení řešit pomocí kontroly protokolů sestavení.If you build projects by using the Visual Studio IDE, you can troubleshoot those builds by reviewing build logs. Další informace najdete v tématu Postup: zobrazení, uložení a konfigurace souborů protokolu sestavení.For more information, see How to: View, save, and configure build log files.

Nastavit úroveň podrobnostíSet the level of detail

Při sestavování projektu pomocí nástroje MSBuild bez zadání úrovně podrobností se v protokolu výstupu zobrazí následující informace:When you build a project by using MSBuild without specifying a level of detail, the following information appears in the output log:

  • Chyby, varování a zprávy, které jsou zařazeny do kategorie jako vysoce důležité.Errors, warnings, and messages that are categorized as highly important.

  • Některé události stavu.Some status events.

  • Souhrn sestavení.A summary of the build.

Pomocí přepínače -verbose ( -v ) můžete určit, kolik dat se zobrazí ve výstupním protokolu.By using the -verbosity ( -v ) switch, you can control how much data appears in the output log. Pro řešení potíží použijte úroveň podrobností pro detailed ( d ) nebo diagnostic ( diag ), která poskytuje nejvíc informací.For troubleshooting, use a verbosity level of either detailed (d) or diagnostic (diag), which provides the most information.

Proces sestavení může být pomalejší, pokud nastavíte -Podrobnosti na detailed a dokonce pomaleji, když nastavíte úroveň -verbose na diagnostic .The build process may be slower when you set the -verbosity to detailed and even slower when you set the -verbosity to diagnostic.

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

Nastavení podrobnostíVerbosity settings

Následující tabulka ukazuje, jak se protokoluje podrobnosti protokolu (hodnoty sloupce), které jsou protokolovány.The following table shows how the log verbosity (column values) affects which types of message (row values) are logged.

Typ a podrobnosti zprávyMessage type / Verbosity QuietQuiet MinimálníMinimal NormálníNormal DetailedDetailed diagnostickéDiagnostic
ChybyErrors
UpozorněníWarnings
Zprávy s vysokou důležitostíHigh-importance Messages
Zprávy normálního významuNormal-importance Messages
Zprávy s nízkou důležitostíLow-importance Messages
Další informace o modulu MSBuildAdditional MSBuild-engine information

Uložení protokolu sestavení do souboruSave the build log to a file

K uložení dat buildu do souboru můžete použít přepínač - ( FL ).You can use the -fileLogger ( fl ) switch to save build data to a file. Následující příklad uloží data sestavení do souboru s názvem MSBuild. log .The following example saves build data to a file that's named msbuild.log .

msbuild MyProject.proj -t:go -fileLogger

V následujícím příkladu je soubor protokolu pojmenovaný MyProjectOutput. log a podrobnost výstupu protokolu je nastavená na diagnostic .In the following example, the log file is named MyProjectOutput.log , and the verbosity of the log output is set to diagnostic. Tato dvě nastavení určíte pomocí přepínače -fileLoggerParameters ( flp ).You specify those two settings by using the -fileLoggerParameters (flp) switch.

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

Další informace najdete v tématu Reference k příkazovému řádku.For more information, see Command-line reference.

Uložení výstupu protokolu do více souborůSave the log output to multiple files

Následující příklad uloží celý protokol do msbuild1. log , jenom chyby JustErrors. log a jenom upozornění do JustWarnings. log .The following example saves the entire log to msbuild1.log , just the errors to JustErrors.log , and just the warnings to JustWarnings.log . Příklad používá čísla souborů pro každý ze tří souborů.The example uses file numbers for each of the three files. Čísla souborů jsou uvedena hned po přepínačích -FL a -FLP (například -fl1 a -flp1 ).The file numbers are specified just after the -fl and -flp switches (for example, -fl1 and -flp1).

Přepínače -fileLoggerParameters ( flp ) pro soubory 2 a 3 určují, co má každý soubor pojmenovat a co se má zahrnout do každého souboru.The -fileLoggerParameters (flp) switches for files 2 and 3 specify what to name each file and what to include in each file. Pro soubor 1 není zadán žádný název, proto je použit výchozí název msbuild1. log .No name is specified for file 1, so the default name of msbuild1.log is used.

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

Další informace najdete v tématu Reference k příkazovému řádku.For more information, see Command-line reference.

Uložit binární protokolSave a binary log

Protokol můžete uložit v komprimovaném binárním formátu pomocí přepínače -binaryLogger (6248 ).You can save the log in compressed, binary format using the -binaryLogger ( bl ) switch. Tento protokol obsahuje podrobný popis procesu sestavení a lze ho číst pomocí některých nástrojů pro analýzu protokolu.This log includes a detailed description of the build process and can be read by certain log analysis tools.

V následujícím příkladu se vytvoří binární soubor protokolu s názvem binarylogfilename .In the following example, a binary log file is created with the name binarylogfilename .

-bl:binarylogfilename.binlog

Další informace najdete v tématu Reference k příkazovému řádku.For more information, see Command-line reference.

Použití vlastního protokolovacího nástrojeUse a custom logger

Vlastní protokolovací nástroj můžete napsat vytvářením spravovaného typu, který implementuje ILogger rozhraní.You can write your own logger by authoring a managed type that implements the ILogger interface. Pomocí vlastního protokolovacího nástroje můžete například odesílat chyby sestavení v e-mailu, přihlašovat je do databáze nebo do souboru XML.You might use a custom logger, for instance, to send build errors in email, log them to a database, or log them to an XML file. Další informace najdete v tématu protokolovací nástroje sestavení.For more information, see Build loggers.

V příkazovém řádku MSBuild zadáte vlastní protokolovací nástroj pomocí přepínače -protokolovacího nástroje.In the MSBuild command line, you specify the custom logger by using the -logger switch. Pomocí přepínače -noconsolelogger můžete také zakázat výchozí protokolovací nástroj konzoly.You can also use the -noconsolelogger switch to disable the default console logger.

Viz takéSee also