共用方式為


MSBuild 中記錄的概觀

更新:2007 年 11 月

MSBuild 記錄器提供自訂報告建置事件、訊息、警告與錯誤的方式。記錄器可在主控台 (Console) 視窗中顯示資訊、寫入 XML 或文字檔,或者將組建資料輸入資料庫中。

MSBuild 記錄器

記錄器是用來將來自建置事件、訊息、警告與錯誤的資訊,轉送至方便讀取和解譯的記錄檔。記錄器的邏輯是在實作 ILogger 介面的 Managed 型別中撰寫。‎‎‏

MSBuild 預設主控台記錄器

當您從命令列執行 MSBuild.exe 時,MSBuild 會使用預設的主控台記錄器在主控台視窗中顯示建置事件資訊。您可以在命令列上使用 /verbosity 參數,自訂記錄器要報告的細節層級。

預設的主控台記錄器接受可修改主控台視窗輸出的額外參數。這些參數是在命令列上使用 /consoleloggerparameters 參數所指定。

如果您要使用自訂記錄器,可能會希望隱藏預設主控台記錄器顯示的資訊。請在命令列上使用 /noconsolelogger 參數停用預設主控台記錄器。

MSBuild 檔案記錄器

MSBuild 亦包含檔案記錄器,用來將建置事件資訊記錄到檔案中。若要執行檔案記錄器,請在命令列中使用下列參數,其中 MyLog.log 是要儲存記錄檔資訊的檔案。

/l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log

總而言之,檔案記錄器亦接受四個參數。這些是:

  • Logfile:必要參數,用來指定要儲存記錄檔資訊的檔案。

  • Append:選擇性 boolean 參數,用來指示是否將記錄檔附加到指定的檔案:true 表示將記錄檔加入至檔案中已存在的文字,false 則表示覆寫檔案的內容。預設值為 false。

  • Verbosity:選擇性參數,只會覆寫這個檔案記錄器的全域詳細等級設定。這個參數可讓您記錄至數個記錄器,且各擁有不同的詳細等級。

  • Encoding:選擇性參數,會指定檔案的編碼,例如 UTF-8。

多個參數會以分號 (;) 分隔。例如,下列命令列會將建置事件資訊記錄至 MyLog.log 檔案,並將記錄檔附加到檔案中的文字內,而其詳細等級為 diagnostic 且編碼為 UTF-8。

MSBuild MyProj.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log append=true;verbosity=diagnostic;encoding=utf-8

指定記錄器

如果建置時要使用預設主控台記錄器以外的記錄器,請在命令列上使用 /logger 參數指定自訂記錄器。如需 MSBuild 命令列參數的詳細資訊,請參閱 MSBuild 命令列參考

寫入記錄器

記錄器的邏輯是以 Managed 程式碼撰寫,並且在 MSBuild 命令列上使用 /logger 參數指定。

若想撰寫自己的記錄器,您可以撰寫一個實作 ILogger 介面的 Managed 型別。如需詳細資訊,請參閱 HOW TO:撰寫記錄器

請參閱

工作

HOW TO:撰寫記錄器

概念

在多處理器環境中記錄

建立轉送記錄器

其他資源

MSBuild 概念