MSBuild でのログの概要

更新 : 2007 年 11 月

MSBuild ロガーは、ビルド イベント、メッセージ、警告、およびエラーのレポートをカスタマイズする方法を提供します。ロガーは情報をコンソール ウィンドウに表示したり、XML またはテキスト ファイルに書き込んだり、ビルド データをデータベースに入力したりできます。

MSBuild ロガー

ロガーは、ビルド イベント、メッセージ、警告、およびエラーからの情報を、簡単に読み取って解釈できるログに中継するために使用します。ロガーの論理は、ILogger インターフェイスを実装するマネージ型に記述されています。

MSBuild の既定のコンソール ロガー

コマンド ラインから MSBuild.exe を実行すると、MSBuild は既定のコンソール ロガーを使用して、ビルド イベント情報をコンソール ウィンドウに表示します。ロガーでレポートする詳細レベルをカスタマイズするには、コマンド ラインで /verbosity スイッチを使用します。

既定のコンソール ロガーは、コンソール ウィンドウの出力を変更できる追加のパラメータを受け取ります。これらのパラメータは、コマンド ラインで /consoleloggerparameters スイッチを使用して指定します。

カスタム ロガーを使用する場合は、既定のコンソール ロガーから表示された情報を非表示にできます。コマンド ラインで /noconsolelogger スイッチを使用して、既定のコンソール ロガーを無効にします。

MSBuild ファイル ロガー

MSBuild には、ビルド イベント情報をファイルに記録するファイル ロガーも含まれています。ファイル ロガーを実行するには、コマンド ラインで次のスイッチを使用します。MyLog.log は、ログ情報の保存先とするファイルです。

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

ファイル ロガーは合計で 4 つのパラメータを受け取ります。これらの数値は、次のとおりです。

  • 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 コマンド ライン リファレンス」を参照してください。

ロガーの記述

ロガーの論理はマネージ コードに記述されており、MSBuild コマンド ラインで /logger スイッチを使用して指定されます。

ILogger インターフェイスを実装するマネージ型を記述することにより、独自のロガーを作成できます。詳細については、「方法 : ロガーを記述する」を参照してください。

参照

処理手順

方法 : ロガーを記述する

概念

マルチプロセッサ環境でのログ

転送 logger の作成

その他の技術情報

MSBuild の概念