2011-08-30 3 views
2

내 로그 파일을 구문 분석 할 로그 뷰어 (어느 것이 든 상관 없음)를 사용하려고합니다.log4j 패턴 % X 및 할당 할 속성

내 log4j 패턴은 이쪽입니다.

% p [% t {(% C {1} : % M() : % L) % d {dd/MM/yyyy-HH : mm : ss, SSS} S : % X {serviceType} N : % X {요청 ID} - % m % n

로그 뷰어 (최소한 오픈 소스 파일)는 파일을 읽을 수 있도록 패턴을 구현해야합니다.

예 : log4j 패턴의 경우 : % p [% t] (% C {1} : % M() : % L) % d {dd/MM/yyyy-HH : mm : ss, SSS } - %의 m의 %의 N

로그 뷰어 패턴이 될 것이다 : 패턴 = 패턴 = LEVEL [THREAD (CLASS : METHOD() LINE) TIMESTAMP - MESSAGE

예 잘 작동한다.

하지만 어떤 식 으로든 % X 속성을 구문 분석하지 못했습니다. 나는 속성 유형 NDC와 PROP (key)가있는 것을 보았지만 그것들을 사용하지 않거나 % X와 관련이 없다.

그래서 패턴을 구현하여 % X 매개 변수.

감사합니다.

+0

당신이 당신의 정상적인 로그 파일에 MDC에서 키 ServiceType 자리하고 RequestID가의 값을 볼 수

행운을 ;-(에 예 – Cygnusx1

+0

? 많은 문서가 아닙니다. 그러나 그것은 항상. 사용 된되지 않는다 값이 비어있는 곳입니다. – Gleeb

+0

ok, thats normal ... 지금, 어떤 로그 뷰어를 사용하는지 모르겠습니다.이 로그 뷰어가 % X를 (를) 지원하는지 확인 했습니까? MDC 키 읽기/값 – Cygnusx1

답변

3

좋아, 문제가 생겼다.

응용 프로그램은 패턴 레이아웃에서 % X을 사용하므로 log4J MDC를 사용합니다. 로그 뷰어는 NDC 만 지원하는 것 같습니다.

NDC 용 log4j 패턴 레이아웃은 % x (소문자)입니다.

응용 프로그램에 대한 제어 권한이있는 경우 MDC -> NDC를 변경하고 % X 대신 % x을 사용하도록 log4j.xml을 수정해야합니다. 응용 프로그램이 큰 경우 즉,

는 또 다른 해결책은 MDC (% X가)

내가 PROP 주위에 (키)를 찾기 위해 노력 지원 로그 뷰어를 발견하는 것입니다 ... 큰 작업이 될 수 있습니다 하지만 거기는

+0

덕분에 그것을 시도하고 그것이 작동하는 경우 알려 드리겠습니다. – Gleeb

+0

좋아요, 작동하지 않습니다, MDC와 MDC가 같은 방식으로 작동하지 않습니다. MDC의 사용을 모두 제거하거나 다른 것을 찾는다. 그 문제는 MDC를 지원하는 오픈 소스 로그 뷰어를 찾지 못했다는 것입니다. – Gleeb