使用java解析apache tomcat accesslog

时间:2011-01-21 08:55:19

标签: java parsing logging

使用java解析apache accesslog文件的最佳方法是什么?

它是否正在使用stringtokenizer,或者是否有任何专门用于解析apache日志文件的第三方库?

5 个答案:

答案 0 :(得分:1)

恕我直言,StringTokenizer对于任何事情来说都太愚蠢了,第三方库对于像这样简单的东西来说可能是一种过度杀伤。我写了一个简单的正则表达式,只要它不是至关重要的并且在我的控制下运行。 http://www.google.com/search?q=Parsing+apache+tomcat+access+log有280k匹配,前两个似乎是免费库。

答案 1 :(得分:1)

在这个github project内,你会发现一个名为LogParser的类,它涵盖了一些访问日志格式。此外,正在使用Hadoop完成所有流程,这意味着您将能够使用商用硬件并行分析大量的访问日志。

答案 2 :(得分:0)

看看JMeter的TCLogParser [javadocs | source]。它实际上是指在JMeter中使用,但您可以查看源代码并根据自己的需要进行更改。

答案 3 :(得分:0)

没有专门解析tomcat日志文件的第三方库。你自己也可以做很多事情:

  1. 定义日志文件的特征和必要的阀门格式
  2. 定义您需要处理的操作(访问日志,struts操作等)
  3. 读入日志文件的行并将其拆分(即oneLine.split(" ", 0);
  4. 如果需要,可将所需组件存储在数据库中。 DB会给你很大的自由。
  5. 你准备好了!

    可旋转日志文件更易于使用。你会有很多,但更小。 过滤掉任何不必要的行。

    解析取决于您在server.xml中使用的模式。

    一个复杂的解决方案将从server.xml文件读取阀门模式并知道如何解析它。

答案 4 :(得分:0)

查看[Web日志分析器] http://code.google.com/p/web-log-analyzer/