2011-01-21 5 views
2

java를 사용하여 아파치 accesslog 파일을 분석하는 가장 좋은 방법은 무엇입니까?java with apache tomcat accesslog을 파싱

stringtokenizer를 사용하거나 아파치 로그 파일을 구문 분석하기 위해 특별히 만들어진 3 부 라이브러리가 있습니까?

+0

[웹 로그 분석기]를 살펴 보자 : http://javatechworld.blogspot.com/2011/08/apache-http-access-log-parser.html는 구문 분석 액세스 로그. 로그를 구문 분석하고 해당 CSV 파일을 생성합니다. –

답변

0

Tomcat 로그 파일을 구문 분석하는 특수 라이브러리는 없습니다. 아직도 많은이 당신이 자신을 수행 할 수 있습니다

  1. 는 로그 파일과 필요한 밸브 형식의 특성
  2. 당신이 처리해야 할 작업을 정의를 정의
  3. (액세스 로그, 행동 등을 스트럿) 로그 파일의 라인을 읽고 분할하십시오 (예 : oneLine.split(" ", 0);)
  4. 원하는 경우 데이터베이스에 필요한 구성 요소를 저장하십시오. DB는 당신에게 많은 자유를 줄 것입니다.

이제 준비가되었습니다.

회전 가능 로그 파일은 작업하기가 더 쉽습니다. 너는 많지만 작을 것이다. 불필요한 줄을 필터링합니다.

구문 분석은 server.xml에서 사용하는 패턴에 따라 다릅니다.

정교한 솔루션은 server.xml 파일에서 밸브 패턴을 읽고 파싱하는 방법을 알고 있습니다.

1

IMHO, StringTokenizer는 너무 어리 석다. 제 3 자 라이브러리는 이와 같은 간단한 작업에 과도 할 수 있습니다. 나는 그것이 중요하지 않고 내 제어하에 실행된다면, 간단한 정규식을 쓸 것이다. http://www.google.com/search?q=Parsing+apache+tomcat+access+log에 대한 280k 개의 일치 항목이 있으며 처음 두 개는 무료 라이브러리 인 것으로 보입니다.

0

JMeter 's TCLogParser [javadocs | source]. 실제로 JMeter에서 사용하도록되어 있지만 소스를 확인하고 필요에 따라 변경할 수 있습니다.

1

github project 안에는 일부 액세스 로그 형식을 다루는 LogParser 클래스가 있습니다. 또한 Hadoop을 사용하여 모든 프로세스를 수행하므로 범용 하드웨어로 대량의 액세스 로그를 병렬로 분석 할 수 있습니다.