我正在寻找一种分析自定义日志文件的方法。
我现在已经使用 LINQ 和 C#.NET 实现了。它仅适用于最大 500MB 的日志文件。
日志文件的每一行都被制成一个看起来像的对象
public class Metrics
{
public DateTime Date { get; set; }
public string Metrics1 { get; set; }
public string Metrics2 { get; set; }
:
:
public string Metrics9 { get; set; }
}
List<Metrics> MetricsList = new List<Metrics>();
MetricsList 已填充。在 MetricsList 上运行各种 LINQ 查询以提供有用的分析。据观察,一个 Metrics 对象需要 300 个字节。我在 500MB 的日志文件中有大约 400 万行,这使得仅 MetricsList 的大小就消耗了超过 1GB 的程序内存。
我的要求是解析和分析大小高达 2 GB 的文件,这看起来会消耗 4 GB 的内存。
使用 Windows、Microsoft 技术和任何开源库的任何更好的方法或替代方案。