したがって、ユーティリティを実行する MSBuild に EXEC タスクがあります。このユーティリティはログ ファイルを書き込みますが、stdout に出力を生成しません。
エラー (ユーティリティが 0 以外の ReturnCode を返す) の場合、ログ ファイルの内容を取得し、その内容に基づいてメッセージを出力したいと考えています。
問題は、ログ ファイルが大きいことです。私はログ ファイルのごく一部しか知りません。そして、ビルドログエラー通知に含めるためにその小さな部分を抽出する方法がわかりません。それでも、何かがうまくいかなかったことだけでなく、何がうまくいかなかったかを理解することが重要です。
エラーの場合、ファイル形式は次のようになります。
Line1
Line2
Line3
*** Something Bad Happened
Details on something bad
*** Run Failed
LineX
LineY
LineZ
したがって、必要なのは、3 つのアスタリスクで始まる最初の行から始めて、3 つのアスタリスクで始まる次の行 (INCLUSIVE) まで、行を抽出する方法です。3 つのアスタリスクで始まる行が 2 行以上ある場合は、心配する必要はありません。
これはリモートでも可能ですか?もしそうなら、魔法の呪文を理解できません。3 つのアスタリスクで最初の行を取得し、それをログに記録するだけで (短期的には) 解決したいと思いますが、行のブロック全体を取得したいと思っています。