2011-04-11 5 views
3

이제 % p 기호에 대한 특정 로그 메시지에 대해 디버그 또는 오류 또는 경고가 나타납니다. 누구든지 처음 세 글자 만 얻는 방법을 가르쳐 줄 수 있어요. 예.% p를 사용하는 로그 메시지를 표시하는 log4j

+0

% .3p가 작동합니까? – sbridges

+0

예, 마지막 세 글자를 기록합니다. 예 : 경고 용 ING – user696266

+0

기본값으로 % .3p는 처음부터 잘립니다. 누구든지 날 끝에서 자르는 방법을 내게 전화 할 수 있습니다 – user696266

답변

1

, format 방법 문자열이 org.apache.log4j.helpers.PatternConverter 클래스에 실행 코드를 경고 만 WAR : 당신이 WAR을 인쇄하려는 경우

if(len > max) 
    sbuf.append(s.substring(len-max)); 

, 당신은 format에 문자열 라인을 변경 PatternConverter 클래스를 서브 클래 싱해야 이 같은 뭔가 방법 :

if(len > max) 
    sbuf.append(s.substring(0, max)); 

그럼 당신은 또한 인스턴스화하는 PatternLayout#createPatternParser 방법의 새 버전을 작성해야 당신의 새 버전 PatternConverter.

희망이 도움이됩니다.

+0

있습니다. 고맙습니다 :) – user696266

0

의 log4j 2.X에서는 끝에서자를 수 : 끝에서

자르기 오른쪽 기간 이후 마이너스 문자 를 추가하여 가능하다. 이 경우 최대 필드 너비가 8이고 데이터 항목 길이가 10자인 경우 데이터 항목의 마지막 두 자릿수 인 이 삭제됩니다.

링크 : https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout

그래서이 경우, %.-3pWAR 대신 WARNING 제공해야합니다.

관련 문제