日志分析工具(过滤/分组/多线程分析)

时间:2016-11-25 09:00:37

标签: java multithreading

我在.log文件解析/过滤/分组方面没有任何经验。

有一个包含多个日志文件的目录。文件数量可以很大,一个日志中的行数也可以很大。每个日志记录至少包含时间,用户名和自定义消息。

工具应扫描目录中的日志文件,读取日志文件并过滤符合用户输入的日志记录,并生成下面给出的输出。

作为 输入参数 ,我有下一个:

过滤参数 (至少应指定一个)

  • 用户名
  • 时间段
  • 自定义消息的模式

分组参数 (至少应指定一个参数)

  • 用户名
  • 时间单位(例如1小时,1天,1个月)

其他参数 -

  • 用于处理文件的线程数。每个文件都可以在单独的线程中处理。 (缺省= 1)
  • 输出文件的路径或文件名

这就是用户可以作为过滤/分组/等的输入参数输入的所有内容。

作为 输出 ,我应该接下来:

  • 包含所有已过滤日志记录的单个文件。
  • 打印聚合统计信息(按输入参数分组分组的记录数)

您能否建议正确的方式来构建该应用。 或者您可能对此应用的结构有任何其他建议。

  1. 如何组织过滤和分组,我应该创建一些临时文件进行过滤,然后使用"分组"那个临时文件?
  2. 如何根据用户输入组织多线程分析?
  3. 我应该在过滤程序之前使用任何解析器吗?

1 个答案:

答案 0 :(得分:0)

查看集中日志管理工具,例如graylogsentry。因此,您可以专注于主应用程序逻辑。