1

我之前有一个关于如何从大约 600mbs 的日志文本文件信息中读取大块数据的问题。以及在文件中搜索以找到有用的信息

我想知道显示数据的最佳方式/有效方式是什么。以前对于大约 1mb 的日志文件数据,我使用列表框来显示文件中包含 1 个条目的字符串。这将为仅 1mb 的数据填充大约 7000 个列表框条目。显然我不能为 ~600mb 的日志文件执行此操作。

我希望用户能够“扩展”一个日志条目并“向下钻取”并查看有关特定信息/调试/错误的更多详细信息。我认为因为列表框本质上是基于索引的数组,所以我需要使用不同的容器来显示信息,但仍然保持选择条目和展开详细信息的能力。

4

3 回答 3

1

好吧,一棵树是有意义的,您可以变得聪明并在后台线程中进行延迟加载构建节点/索引,例如选择节点作为后备。

同样的事情,但有多个列表框用于基于过滤器的选择也是可能的

节点可以是 MonthYear、Date、Hour、Entry 等 Source 或类型(如果它在其中)。

您想要的最后一件事是列表框,其中包含大量可供选择的条目,没有人愿意使用它,任何不得不使用它的人都会厌恶它。

于 2012-10-05T18:07:37.260 回答
0

我会这样处理设计:

  1. 顶部的一组过滤器通过分析日志文件的内容生成,并带有“立即搜索”按钮或类似的东西。
  2. 在过滤器中,我会要求页面大小(如每页显示 10、50、100 个结果)
  3. 底部的搜索结果窗口将包含与所选过滤条件匹配的每个日志节点的摘要数据列表,然后在必要时将结果分解为页面。
  4. 选择特定日志节点时可见的详细信息窗格
  5. 记录匹配记录数的页脚状态栏

这将允许您的用户快速搜索他们正在寻找的内容,但不会被找到的结果的数量所淹没,并且考虑到他们可能想要在显示任何结果之前对其进行过滤的数据集的大小节点。

于 2012-10-05T18:24:18.093 回答
0

对于 600mb 数据,大约 7000*600 (4.2M) 行,您将无法在一个窗口中显示所有数据。最好使用一种方式来浏览不同的页面(比如每个页面只有 100 行)。如果我是你,我会预处理日志文件,然后将日志插入数据库。然后使用分页从数据库加载行。如果你这样做,你仍然可以使用列表视图或网格视图。

于 2012-10-05T18:07:53.380 回答