2014-12-04 2 views
0

java.util.logging.logger.simpleformatter.format을 사용하면 문자열의 마지막 문자 만 가져 오는 방법이 있습니까? 예를 들어, 소스는 com.my.package.name.my.class.name입니다. 나는 정밀도를 사용하여 e.name.my.class.name에서와 같이 최하위 20 문자를 얻고 싶습니다. 형식 문자열에서이를 지정하는 방법이 있습니까?java.util.logging.logger에서 문자열의 왼쪽 끝을 자릅니다?

-Djava.util.logging.SimpleFormatter.format = "% 1 $ TY-을 : 나는 다음과 협력했지만, 굵게 표시된 항목에 대해 작동하도록 얻을 수 없었다

% 1 $ tm- % 1 $ td % 1 $ tH : % 1 $ tM : % 1 $ tS : % 4 $ .15s % 2 $ 8s % 5 $ s % 6 $ s % n "

I log4j를 성공적으로 사용할 수 있었고 필요한 경우 해당 경로로 이동할 수 있지만 불필요한 패키지를 제거하려고합니다.

감사합니다,

답변

0

팀에는 SimpleFormatter의 사용자 정의 형식의 모두는 java.util.Formatter 클래스가 제공된다. 그 문서 당 :

너비는 출력에 쓰여지는 최소 문자 수입니다. ... 일반적인 인수 유형의 경우 정밀도는 출력에 기록 할 최대 문자 수입니다.

왼쪽이나 오른쪽에서 하위 문자열 개념이 없습니다. 음수 정밀도가 오른쪽에서 최대 문자 수로 정의되고 양수 정밀도가 왼쪽에서 최대 문자 수로 정의되는 것이 좋을 것입니다.

해결 방법은 타사 java.util.logging.Formatter를 찾거나 사용자의 필요에 맞게 직접 java.util.logging.Formatter를 만드는 것입니다.

+0

그건 제가 생각한 것입니다. 의사는 너비에 대한 패딩에 대해 이야기하지만 잘림에 대해서는 거의 말하지 않습니다. log4j가 혼합 상태를 유지해야하는 것처럼 보입니다. – TFull

+0

j.u.l에 대한 log4j 패턴 레이아웃의 일부 포트가 있다고 생각합니다. java.util.logging에서는 이것을 PatternFormatter라고 부릅니다. 검색을 원할 수도 있습니다. – jmehrens

관련 문제