2011-01-21 22 views
2

javaを使用してApacheのアクセスログファイルを解析するにはどうすればよいですか?Javaでapache tomcat accesslogを解析する

stringtokenizerを使用しているのですか、またはApacheログファイルを解析するために特別に作られた第3部ライブラリがありますか?

+0

を見てみましょう:http://javatechworld.blogspot.com/2011/08/apache-http-access-log-parser.htmlを解析しますアクセスログ。ログを解析し、対応するCSVファイルを生成します。 –

答えて

0

Tomcatログファイルの解析に特化した第3部ライブラリはありません。まだたくさんあるあなた自身を行うことができます。

  1. は、ログファイルと必要なバルブ形式の特性
  2. あなたが処理する必要のあるアクションを定義を定義
  3. (アクセスログ、アクションなどを支柱)ログファイルの行を読み取って分割します(つまり、oneLine.split(" ", 0);
  4. 必要な場合は、必要なコンポーネントをデータベースに格納します。 DBはあなたに多くの自由を与えます。

あなたは準備が整いました。

回転可能なログファイルは使いやすくなっています。あなたは多くの、しかし小さいです。 不要な行を除外します。

構文解析は、server.xmlで使用するパターンによって異なります。

洗練された解決策は、server.xmlファイルからバルブパターンを読み取り、解析する方法を理解することです。

1

IMHO、StringTokenizerは何のためにもあまりにも愚かであり、第三者のライブラリはこれほど簡単なものではありません。私はそれが重要ではなく、私のコントロールの下で実行されるなら、単純な正規表現を書くだろう。 http://www.google.com/search?q=Parsing+apache+tomcat+access+logには280kのマッチがあり、最初の2つは無料のライブラリーと思われます。

0

JMeter's TCLogParser [javadocs | source]。実際にはJMeter内から使用することを意図していますが、ソースをチェックアウトして自分のニーズに合わせて変更することができます。

1

このgithub projectの中には、いくつかのアクセスログ形式をカバーするLogParserというクラスがあります。さらに、Hadoopですべてのプロセスを実行しているため、コモディティハードウェアを使用して大量のアクセスログを並行して分析できるようになります。