【发布时间】:2015-08-18 08:45:30
【问题描述】:
我想用 C# 解析以下日志文件。
我已经走上了使用 RegEx 将大部分内容拆分的路线。 我已经在 RegExr 中测试了这个,并检查了 MultiLine (m) 标志。
日志
5376:0084 2015-08-07 13:51:29.103 Error ### Error Message ###
5376:0084 2015-08-07 13:51:35.545 Error Discarding invalid session
System.Web.Services.Protocols.SoapException: Verify Session ID failed
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
5376:0084 2015-08-07 13:51:36.013 Error ### Error Message ###
分表:
| ProcessID | DateTime | Type | Message |
|-----------|-------------------------|-------|-----------------------|
| 5376:0084 | 2015-08-07 13:51:29.103 | Error | ### Error Message ### |
我使用了以下模式
string pattern = @"(.*:\d{4}) ((\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}).(\d{3})) ([A-Za-z\n]+) (.*$)";
这得到第 1,3 和 6 行,但我想将第 2-5 行收集到一组中。 所以 "Discarding ... parameters)" 将是整个消息。
【问题讨论】:
-
请说明您需要对问题本身有什么不同。