所以我在 MSBuild 中有一个运行实用程序的 EXEC 任务。此实用程序会写入日志文件,但不会在标准输出上产生输出。
在发生错误的情况下(实用程序返回的 ReturnCode 不是 0),我想获取日志文件的内容并根据内容输出一条消息。
问题是日志文件很大,我只对其中的一小部分感兴趣。而且我不知道如何提取那一小部分以包含在构建日志错误通知中。然而,重要的是人们要了解哪里出了问题,而不仅仅是哪里出了问题。
文件格式是这样的,在出现错误的情况下:
Line1
Line2
Line3
*** Something Bad Happened
Details on something bad
*** Run Failed
LineX
LineY
LineZ
所以我需要的是一种提取行的方法,从以三个星号开头的第一行开始,继续到以三个星号开头的下一行,包括在内。我不需要担心有超过两行以三个星号开头的情况,因为这种情况永远不会发生。
这甚至有可能吗?如果是这样,我无法弄清楚魔法咒语。我愿意(在短期内)只用三个星号抓住第一行,并且能够记录那个,但我真的很想得到整个行。