2016-06-07 2 views
0

내가 특정 패턴을 사용하여 log4j2 로그를 작성하는 것을 시도하고 이름에 의해 선택되지 않습니다 /usr/lib/logpath.log이 시스템 매개 변수에 대한 작동하지만 같은 로그 인쇄 :log4j2 주요 인수는

15:33:34.889 jobId INFO Test   main      ( 74) - -b 
15:33:34.890 jobId INFO Test   main      ( 74) - -o 
15:33:34.890 jobId INFO Test   main      ( 74) - account 
15:33:34.890 jobId INFO Test   main      ( 74) - document 
15:33:34.890 jobId INFO Test   main      ( 74) - -d 
15:33:34.891 jobId INFO Test   main      ( 74) - rest 
15:33:34.891 jobId INFO Test   main      ( 74) - -l 
15:33:34.891 jobId INFO Test   main      ( 74) - 100 
15:33:34.891 jobId INFO Test   main      ( 74) - -skipmd 
15:33:34.891 jobId INFO Test   main      ( 74) - -db 
15:33:34.891 jobId INFO Test   main      ( 74) - -jobId 
15:33:34.891 jobId INFO Test   main      ( 74) - 1234 

에 주 시작의 코드 :

public static void main(String[] args) throws Exception 
    { 
     MainMapLookup.setMainArguments(args); 
     for (String s : args) 
      logger.info(s); 
... 
} 

인덱스를 기반으로하는 인수를 사용하여 시도해 본 결과 작동합니다. 그러나 주요 인수 조회가 작동하지 않는 것 같습니다. 내가 여기서 뭔가를 놓치고 있니?

아마도 오프 주제 질문 일 수 있습니다. 로깅의 주 인수보다 시스템 변수를 처리하는 합법적 인 용도는 무엇입니까?

답변

0

MainMapLookup 이름과 StrSubstitutor 기본값 구분 기호 사이의 형식에 충돌이 있기 때문에 작동하지 않는 이유가 있습니다.

$는 {주 : -jobId}주요 또는 작업 ID가

이는 알려진 버그가 여기에보고 속성으로 해석됩니다 : https://issues.apache.org/jira/browse/LOG4J2-1013