プログラム練習を兼ねたMSBuild用のロガーです。 JenkinsでビルドプロジェクトへこのDLLを配備するには、 Custom Tools Plugin (https://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin) を使用すると簡単です。
このロガーはエラー・警告の出力とサマリーの出力を行います。 各項目をタブ区切りで出力しているのでExcelへコピペしてフィルタできます。 また、既定のエンコードをUTF-8としているため、JenkinsのMSBuild Puginを使用しても日本語が文字化けしません。
msbuild /noconsolelogger /logger:TSVConsoleLogger,MSBuildLoggers.dll
のようにして既定のコンソールロガーを置き換えて使用します。
MSBuildLoggers.dll
はフルパスでしていするか、MSBuildLoggers.dllをパスの通った場所に置いておきます。
ロガーのパラメータは、それぞれセミコロンで区切って指定します。
- ENCODING
- 出力のエンコードを指定します。既定ではUTF-8です。ENCODING=SJISのように指定します。
- HIDEWARNINGS
- 指定すると、警告を出力しません。
- HIDEERRORS
- 指定すると、エラーを出力しません。
- TRIMPATH
- エラー・警告が発生したプロジェクトファイルおよびソースファイルのパスから指定された文字列を取り除きます。 Jenkinsからビルドする際に、ワークスペースのパスを指定しておくとファイル名が簡略化されて見やすいです。
msbuild /noconsolelogger /logger:TSVConsoleLogger,MSBuildLoggers.dll;Encoding=SJIS;HideWarnings;TrimPath="C:\MySource\MyProject"
MSBuild タスクの引数設定例
/noconsolelogger /logger:TSVConsoleLogger,%MSBuildLoggers_HOME%\MSBuildLoggers.dll;TrimPath="%WORKSPACE%\\"
TSVConsoleLoggerのファイル出力版です。
TSVConsoleLogger のパラメータがすべて使用できます。 加えて、下記2つのパラメータが使用できます。
- LOGFILE
- ビルド ログの書き込み先のログファイルへのパス。既定では"msbuild.log"です。
- APPEND
- 指定すると、ログファイルに追記します。既定ではログファイルに追加されません。