Freigeben über


Erhalten von Buildprotokollen mit MSBuild

Mit Schalter mit MSBuild verwenden, können Sie angeben, wie viel Builddaten Sie wiederholen möchten und ob Sie Builddaten zu einer oder mehreren Dateien speichern möchten. Sie können eine benutzerdefinierte Protokollierung auch angeben, um Builddaten zu sammeln. Informationen zum MSBuild-Befehlszeilenschalter, die dieses Thema nicht umfasst, finden Sie unter MSBuild-Befehlszeilenreferenz.

Hinweis

Wenn Sie Projekte erstellen, indem Sie die Visual Studio-IDE verwenden, können Sie diese Builds beheben, indem Sie Buildprotokolle überprüfen.Weitere Informationen finden Sie unter Gewusst wie: Anzeigen, Speichern und Konfigurieren von Buildprotokolldateien.

Festlegen des Detailgrad

Wenn Sie ein Projekt erstellen, indem Sie MSBuild verwenden, ohne ein Detailgrad anzugeben, werden die folgenden Informationen im Ausgabeprotokoll:

  • Fehler, Warnungen und Meldungen, die kategorisiert werden, wie äußerst wichtig.

  • Einige Statusereignisse.

  • Eine Zusammenfassung des Build.

Mit dem - Schalter /verbosity (/v) verwenden, können Sie steuern, wie viele Daten im Ausgabeprotokoll angezeigt werden. Für die Problembehandlung verwenden Sie eine Ausführlichkeitsgrad entweder von detailed (d) oder von diagnostic (diag), die die meisten Informationen bietet.

Der Buildprozess ist möglicherweise beim Festlegen /verbosity zu detailed und sogar langsamer beim Festlegen /verbosity zu diagnostic langsamer.

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

Speichern des Buildprotokolls in eine Datei

Sie können den - Schalter /fileLogger (fl) verwenden, um Builddaten in eine Datei zu speichern. Im folgenden Beispiel werden Builddaten in eine Datei, die msbuild.log genannt wird.

msbuild MyProject.proj /t:go /fileLogger

Im folgenden Beispiel wird die Protokolldatei MyProjectOutput.log genannt, und die Ausführlichkeit der Protokollausgabe wird zu diagnostic festgelegt. Sie geben diese beiden Einstellungen an, indem Sie den - Schalter /filelogparameters (flp) verwenden.

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

Weitere Informationen finden Sie unter MSBuild-Befehlszeilenreferenz.

Das Protokoll speichern Ausgabe in mehreren Dateien

Im folgenden Beispiel werden JustWarnings.logJustErrors.logmsbuild1.log das gesamte Protokoll, nur die Fehler und nur die Warnungen. Im Beispiel wird Dateinummern für alle drei Dateien. Die Dateinummern werden direkt hinter den /fl und /flp Schaltern angegeben (beispielsweise, /fl1 und /flp1).

Die Schalter /filelogparameters (flp) für Dateien 2 und 3 geben, was jede Datei zu benennen und was an, in jeder Datei einzufügen. Kein Name wird für Datei 1 angegeben, sodass wird der Standardname von msbuild1.log verwendet.

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

Weitere Informationen finden Sie unter MSBuild-Befehlszeilenreferenz.

Verwenden einer benutzerdefinierten Protokollierung

Sie können eine eigene Protokollierung schreiben, indem Sie einen verwalteten Typ erstellen, durch den die ILogger-Schnittstelle implementiert wird. Sie können eine benutzerdefinierte Protokollierung, beispielsweise, um Buildfehler per E-Mail zu versenden, in einer Datenbank zu protokollieren, oder sie in einer XML-Datei zu protokollieren. Weitere Informationen finden Sie unter Buildprotokollierungen.

In der MSBuild-Befehlszeile geben Sie die benutzerdefinierte Protokollierung an, indem Sie den /logger Schalter verwenden. Sie können den /noconsolelogger Schalter auch verwenden, um die Protokollierung der Standardkonsole zu deaktivieren.

Siehe auch

Referenz

LoggerVerbosity

Konzepte

Buildprotokollierungen

Protokollierung in einer Multiprozessorumgebung

Erstellen von Weiterleitungsprotokollierungen

Weitere Ressourcen

MSBuild-Grundlagen