규칙 기반 구문 분석기에 대한 구문 분석기 구성요소 구성
전제조건:
구문 분석기의 역할은 추출기에 의해 분리된 메시지를 가져와 문자열 값의 공통 기반 이벤트 속성에 대한
맵핑 세트를 빌드하는 것입니다.
구문 분석기 구성요소를 구성하려면 다음과 같이 두 레벨의 구문 분석기 실행에 대한 규칙을 구성해야 합니다.
- 글로벌 처리 - 추출기가 제공한 메시지 결과에 대해
글로벌 정규 표현식 규칙 세트를 실행합니다.
- 속성 처리 - 편집기에 지정된 각 공통 기반 이벤트 속성에
지정되는 값을 판별하기 위해 특정 대체 규칙 세트를 실행합니다.
- 어댑터 구성 편집기의 왼쪽 분할창에서 구성 > 컨텍스트 인스턴스 > 구문 분석기를 선택하십시오.
오른쪽 분할창에 구문 분석기 정보가 표시됩니다.

- 설명 필드에 구문 분석기의 설명을 입력하십시오.
- 레코드 내에서 요소를 분리시키는 분리자 토큰이 로그 레코드에 포함된 경우,
분리자 토큰 필드에 토큰을 입력하십시오.
예를 들어, myapp 응용프로그램 로그 레코드의 경우, 요소 간의 분리자 토큰은 두 칸의 공백입니다.
<March 14, 2004 10:25:21 EST> application:myapp severity:3 message:WARNING-file style.css missing
분리자 토큰은 정규 표현식 [ ]{2}으로 지정될 수 있습니다.
- 로그 레코드에 이름-값 쌍 패턴의 요소가 들어 있는 경우, 지정 토큰 필드에
이름을 값과 연관시키는 토큰을 지정할 수 있습니다. 위와 같은 예제를 사용할 때 myapp 로그 레코드에서
지정 토큰은 콜론 : 입니다.
구문 분석기의 두 번째 실행 단계에서는 공통 기반 이벤트 속성에 지정할 값을 식별하기 위해
특정 대체 규칙을 적용합니다.
공통 기반 이벤트 속성 추가 및 구성
다음과 같은 공통 기반 이벤트 속성이 필요합니다.
- creationTime
- situation
- sourceComponentID
공통 기반 이벤트 속성의 전체 목록에 대해서는 공통 기반 이벤트 모델을
참조하십시오.
- 어댑터 구성 편집기의 왼쪽 분할창에서 구성 > 컨텍스트 인스턴스 > 구문 분석기 > 공통 기반 이벤트를 선택하십시오.
오른쪽 분할창에 공통 기반 이벤트 정보가 표시됩니다.
- 새 속성을 추가하려면 마우스 오른쪽 단추로 공통 기반 이벤트 노드를 누르고 팝업 메뉴에서 추가하려는
속성을 선택하십시오. 공통 기반 이벤트 노드 아래에 속성이 작성됩니다. 아래 예제에서는
msg 속성이 추가됩니다.

- 방금 추가한 속성을 구성하려면 속성을 누르십시오. 속성 세부사항이 오른쪽 분할창에 표시됩니다.
- 위의 예제를 사용할 때, 로그 레코드에 msg 속성이 포함되지 않은 경우
기본값으로 이전 일치 대체 사용 선택란을 선택할 수 있습니다. 그러면 마지막 일치된 메시지의 값이
msg 속성에 지정됩니다.
- msg에 대해 기본값을 설정하려면 기본값 필드에 값을 입력하십시오. 이 기본값은 대체 규칙이
존재하지 않거나 일치하지 않으며 기본값으로 이전 일치 대체 사용이 선택되지 않은 경우 또는
이 선택란이 선택된 경우 이전 일치 값이 저장되지 않은 경우에만 사용됩니다.
- 위의 단계를 수행한 후 계속해서 모든 필수 속성을 추가하십시오.
속성 대체 규칙 추가 및 구성
공통 기반 이벤트 속성에 대체 규칙을 추가하려면 속성 > 추가 > 대체 규칙을 선택하십시오.
대체 규칙 세부사항이 편집기의 오른쪽 분할창에 표시됩니다.
- 로그 레코드에 토큰으로 분리된 이름 값 쌍이 들어 있는 경우 위치 필드를 사용할 수 있습니다.
이름 값 쌍의 값은 $h('nameofNameValuePair') 단위를 사용하여 추출될 수 있습니다.
예를 들어, myapp 응용프로그램에서 같은 로그 레코드를 사용하여 다음과 같이 할 수 있습니다.
<March 14, 2004 10:25:21 EST> application:myapp severity:3 message:WARNING-file style.css missing
분리자 토큰= []{2} 및 지정 토큰 = :과 함께 메시지를 추출할 단위는 $h('message')가 됩니다. .
위치 필드의 기타 응용프로그램에 대해서는 위치 필드
사용법 주제를 참조하십시오.
- 일치는 레코드에서 검색할 패턴을 지정합니다.
위치 필드가 지정되면 레코드의 일부분을 검색합니다. 그렇지 않으면 지정된 패턴에 대해 전체 레코드를
검색합니다. 이 패턴 내에서 대체 필드에서 참조할 수 있는 괄호를 사용하여 특정 데이터를 함께
그룹화할 수 있습니다. 이 패턴이 레코드에 있는 데이터와 일치할 경우, 이 규칙에 대한 공통 기반 이벤트
속성에는 대체 필드에 따른 값이 제공됩니다. 비어 있으면 규칙은 일치로 간주됩니다.
myapp 로그 레코드 예제에서, 위치 필드에 의해 추출된 메시지의 값에 일치하려면 다음 정규
표현식을 사용할 수 있습니다. ^(\w+)-(.*)
이 일치 패턴에는 두 개의 그룹이 들어 있습니다.
첫 번째 그룹은 대시 앞에 있는 단어 문자 세트입니다.
두 번째 그룹은 위치 필드 스펙이 정의한 대로 메시지 값 끝에 있는 대시 뒤에 오는 모든
것입니다.
- 대체 필드는 일치의 결과로서 공통 기반 이벤트 속성에 지정되는 값입니다.
이 값은 일치 패턴에 정의된 그룹을 표시하는 리터럴 $1, $2 등을 사용하여 일치된 문자열에서
추출될 수 있습니다.
myapp 로그 레코드 예제에서 단지 공통 기반 이벤트 msg 속성에 대한 경고 값을
지정하려는 경우, 대체를 $2로 지정하십시오.

- 위치, 일치 및 대체 필드에 의해 일치된 값에 대해 사용자 정의 구문 분석 논리를 실행하려는 경우
대체 확장 클래스를 사용할 수 있습니다.
이 사용자 클래스는 일반 로그 어댑터 인터페이스
classorg.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension
을 구현하여 일반 로그 어댑터에 의해 실행되도록 해야 합니다.
- 시간 형식 필드는 creationTime 속성에 대한 대체 규칙을 작성하는 데 사용될 수 있습니다.
이 필드에 Java 시간 패턴 문자열을 지정하십시오. 입력된 패턴은 날짜를 긴 값으로 생성하기 위해
java.text.SimpleDateFormat 클래스를 사용하는 위치, 일치 및 대체 필드에
의해 일치된 값을 구문 분석하는 데 사용됩니다.
그런 다음 이 값은 공통 기반 이벤트에 필요한 XML 스키마 dateTime 형식의 날짜 문자열 값을
생성하는 데 사용됩니다.
myapp 로그 레코드 예제에서 시간 형식 규칙은 다음과 같습니다.

- 어댑터 구성 파일을 저장하여 작성된 변경사항을 적용하십시오.
- 규칙을 테스트하려면 어댑터 재실행
을
눌러 어댑터를 실행하십시오. 포맷터 결과 보기에 결과가 표시됩니다.
- 작성한 규칙을 사용하여 생성된 공통 기반 이벤트 속성을 보려면 다음 이벤트 표시
아이콘을 누르십시오.
참고: Java 단순 날짜 형식에 대한 자세한 정보는
javadoc java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html을
참조하십시오.
구문 분석기 규칙이 완료된 후, 어댑터 구성 파일의 출력기 구성요소를 구성할 수 있습니다.
관련 개념
Hyades 일반 로그 어댑터의 개요
공통 기반 이벤트 형식 스펙
관련 타스크
로그 구문 분석기 작성
규칙 기반 어댑터 작성
출력기 구성요소 구성
관련 참조
어댑터 구성 파일 구조
어댑터 구성 편집기
정규 표현식 문법
대체 규칙 예제
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.