2014-04-14 1 views
1

내 응용 프로그램에 jansi.jar이 포함 된 jruby jar와 ANSI 이스케이프 용 기본 라이브러리가 포함되어 있습니다.log4j2에서 ANSI 이스케이프 (컬러 로깅)를 비활성화하는 방법

log4j2가 클래스 경로에 jansi.jar을 알리는 경우 ANSI 이스케이프 로깅을 초기화하려고합니다. 하지만 컬러 로그는 필요 없습니다. 그렇다면 log4j2를 구성하여 색상 로그를 피하는 방법은 무엇입니까?

이 내 패턴 표현 :

퍼센트의 D {YYYY-MM-DD} T % d에 {HH : MM : SS, SSS} % 수준 {길이 = 1} % -20t % -30F Log4j2 manual에 따르면 %의 m %의 XEX {짧은} % n을

답변

0

이 착색 기능은 사용자의 패턴 등을 포함하지 않기 때문에 그래서 로그는 ANSI 컬러를 사용하지 않아야합니다, 당신의 패턴으로 highlight 또는 style 키워드를 사용하여 사용 가능 예어. 당신이 여기서 준 패턴이 당신의 appender에 사용 된 패턴인지 확신합니까?

ANSI 이스케이프 모드가 켜져 있어도 %style{...}{Normal} 패턴을 사용하여 기본 스타일을 적용하려고 시도 했습니까? 마찬가지로 :

%style{%d{yyyy-MM-dd}T%d{HH:mm:ss,SSS} %level{length=1} %-20t %-30F %m%xEx{short}%n}{Normal} 

이 설명서의 발언에 관심이있을 수도 있지만 : 윈도우에

ANSI 스타일링

ANSI 이스케이프 시퀀스는 많은 플랫폼에서 기본적으로 지원하지만, 기본적으로하지 않습니다하는 Windows에서. ANSI 지원을 활성화하려면 응용 프로그램에 Jansi jar를 추가하기 만하면 Log4j는 콘솔에 쓸 때 자동으로이를 사용합니다. 어떤 콘솔이 프로세스에 연결되어 있지 않은 경우, Log4j2 RC1은 자동으로 ANSI 더 이상 탈출 사용하지 않는

주 (베타 버전의 버그했다) : https://issues.apache.org/jira/browse/LOG4J2-413.

0

문제점을 파악했습니다. 나는 ConsoleAppender를 사용하는 STDOUT에 글쓰기를 사용했다. log4j2 core jar 버전 2.0-rc1의 ConsoleAppender L120 내부에서 log4j2는 jansi 라이브러리를 찾습니다. 이 문제를 해결하기 위해 콘솔 로깅 기능을 해제했습니다.