我正在尝试解析一些日志文件并将它们放入数据库进行分析。一行看起来像这样:
2012-09-30 17:16:27,213 [39] (boxes) ERROR Assembly.Places [(null)] - Error while displaying a thing
我制作了一个正则表达式,可以很好地提取前面的日期并以这种方式分解线条,但我丢失了日期本身。这是一个非常重要的数据,我不想丢失它!
我不能这样做\r\n
,因为一些日志是致命错误,其中包括开发人员的堆栈跟踪。显然,这些\r\n
用于使它们具有可读性。
我当前的代码如下所示供参考:
var logpath = Directory.GetFiles(@"C:\a\directory", "*.log");
foreach (var log in logpath)
{
var fileStream = new StreamReader(log);
var fileString = fileStream.ReadToEnd();
var records = Regex.Split(fileString, "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}");
...
}