Delen via


Buildlogboeken verkrijgen met MSBuild

Met behulp van opdrachtregelopties met MSBuild kunt u opgeven hoeveel buildgegevens u wilt controleren en of u buildgegevens wilt opslaan in een of meer bestanden. U kunt ook een aangepaste logger bepalen om buildgegevens te verzamelen. Raadpleeg de opdrachtregelverwijzing voor informatie over MSBuild-opdrachtregelopties die niet in dit onderwerp worden behandeld.

Opmerking

Als u projecten bouwt met behulp van de Visual Studio IDE, kunt u problemen met deze builds oplossen door buildlogboeken te bekijken. Zie Procedure: Build-logboekbestanden weergeven, opslaan en configureren voor meer informatie.

Het detailniveau instellen

Wanneer u een project bouwt met behulp van MSBuild zonder een detailniveau op te geven, wordt de volgende informatie weergegeven in het uitvoerlogboek:

  • Fouten, waarschuwingen en berichten die als zeer belangrijk zijn gecategoriseerd.

  • Sommige status gebeurtenissen.

  • Een samenvatting van de build.

Met behulp van de -verbosity (-v)-schakeloptie kunt u bepalen hoeveel gegevens in het uitvoerlogboek worden weergegeven. Gebruik voor het oplossen van problemen een uitgebreidheidsniveau van detailed (d) of diagnostic (diag), dat de meeste informatie biedt.

Het buildproces kan langzamer zijn wanneer u het -verbosity op detailed en nog trager instelt wanneer u het -verbosity op diagnosticinstelt.

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

Instellingen voor gedetailleerdheid

In de volgende tabel ziet u hoe de uitgebreidheid van het logboek (kolomwaarden) van invloed is op welke typen berichten (rijwaarden) worden vastgelegd.

Berichttype/uitgebreidheid Rustig Minimaal Normaal Gedetailleerd Diagnostiek
Fouten
Waarschuwingen
Berichten van hoge belangrijkheid
Berichten met normale belangrijkheid
Berichten met lage belangrijkheid
Aanvullende informatie over MSBuild-engine

Het buildlogboek opslaan in een bestand

U kunt de -fileLogger schakeloptie (-fl) gebruiken om buildgegevens op te slaan in een bestand. In het volgende voorbeeld worden buildgegevens opgeslagen in een bestand met de naam msbuild.log.

msbuild MyProject.proj -t:go -fileLogger

In het volgende voorbeeld heeft het logboekbestand de naam MyProjectOutput.log en is de uitgebreidheid van de logboekuitvoer ingesteld op diagnostic. U geeft deze twee instellingen op met behulp van de -fileLoggerParameters (-flp)-schakeloptie.

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

Zie voor meer informatie commandoregelreferentie.

De logboekuitvoer opslaan in meerdere bestanden

In het volgende voorbeeld wordt het hele logboek opgeslagen in msbuild1.log, alleen de fouten naar JustErrors.log en alleen de waarschuwingen naar JustWarnings.log. In het voorbeeld worden bestandsnummers gebruikt voor elk van de drie bestanden. De bestandsnummers worden net na de -fl en -flp schakelopties opgegeven (bijvoorbeeld -fl1 en -flp1).

Met de -fileLoggerParameters schakelopties (-flp) voor bestanden 2 en 3 geeft u op wat elk bestand een naam moet geven en wat u in elk bestand wilt opnemen. Er is geen naam opgegeven voor bestand 1, dus de standaardnaam van msbuild1.log wordt gebruikt.

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

Als u een shell gebruikt die puntkomma's interpreteert (bijvoorbeeld bash), plaatst u enkele of dubbele aanhalingstekens rond een optie met puntkomma's om te voorkomen dat deze wordt geïnterpreteerd als een opdrachtscheidingsteken. Zie voor meer informatie commandoregelreferentie.

Een binair logboek opslaan

U kunt het logboek opslaan in gecomprimeerde, binaire indeling met behulp van de -binaryLogger (-bl)-switch. Dit logboek bevat een gedetailleerde beschrijving van het buildproces en kan worden gelezen door bepaalde hulpprogramma's voor logboekanalyse.

In het volgende voorbeeld wordt een binair logboekbestand gemaakt met de naam binarylogfilename.

-bl:binarylogfilename.binlog

U kunt de viewer voor gestructureerde logboeken gebruiken om binaire logboeken weer te geven op een manier die het veel gemakkelijker maakt om te zien wat er aan de hand is.

Zie voor meer informatie commandoregelreferentie.

Een aangepaste logger gebruiken

U kunt uw eigen logger schrijven door een beheerd type te schrijven dat de ILogger interface implementeert. U kunt bijvoorbeeld een aangepaste logboekregistratie gebruiken om buildfouten in e-mail te verzenden, ze in een database te registreren of te registreren bij een XML-bestand. Zie Build loggers voor meer informatie.

In de MSBuild-opdrachtregel geeft u de aangepaste logboekregistratie op met behulp van de -logger schakeloptie. U kunt de -noconsolelogger schakeloptie ook gebruiken om de standaardconsolelogger uit te schakelen.