2012-02-20 5 views
12

현재 Java 프로젝트에서 작업 중이며 로깅을 사용 중입니다. 로그가 작성되면 로그 레벨 (INFO, ERROR 등)에 관계없이 항상 검은 색 텍스트로 인쇄됩니다.로그 출력의 색상을 변경하는 방법 log4j

이 출력의 색상을 무시하려면 어떻게해야합니까? 예를 들어 모든 오류 로그는 모두 빨간색으로 표시됩니다. WARN 로그

편집

감사

오렌지 등이 될 것이다 : 나는 ANSIColorLayout 파일을 다운로드 관리와 나의 log4j.properties 지금을 의미합니다. 그러나 나는 다음과 같은 오류를 얻을 :

log4j:WARN No such property [all] in org.apache.log4j.ConsoleAppender. 
log4j:WARN No such property [reset] in org.apache.log4j.ConsoleAppender. 
log4j:WARN No such property [stacktrace] in org.apache.log4j.ConsoleAppender. 
log4j:WARN No such property [info] in org.apache.log4j.ConsoleAppender. 
log4j:WARN No such property [error] in org.apache.log4j.ConsoleAppender. 
log4j:WARN No such property [defaultcolor] in org.apache.log4j.ConsoleAppender. 

내 log4j.properties 파일은 다음과 같다 :

log4j.rootLogger = DEBUG, CA, FA 

log4j.appender.CA = org.apache.log4j.ConsoleAppender 
log4j.appender.CA.layout = balle.logging.ANSIColorLayout 
log4j.appender.CA.layout.ConversionPattern=%-5p [%d{MM-dd-yyyy HH:mm:ss}] %c - %m%n 
log4j.appender.CA.all=\u001B[1;37m log4j.appender.A1.fatal=\u001B[1;31m 
log4j.appender.CA.error=\u001B[0;31m log4j.appender.A1.warn=\u001B[1;33m 
log4j.appender.CA.info=\u001B[0;37m log4j.appender.A1.debug=\u001B[0;36m 
log4j.appender.CA.reset=\u001B[1;37m 
log4j.appender.CA.stacktrace=\u001B[0;31m 
log4j.appender.CA.defaultcolor=\u001B[1;37m 

내 생각 엔 내가 내 자신의 사용자 지정을 ConsoleAppender를 사용하기로되어있어 것입니다? 누구든지 아이디어가 있습니까?

감사

답변

6

당신은 다양한 ANSIColorLayout.java 구현 중 하나를 다운로드 할 수 있습니다. 이러한 "색상 로거"는 PatternLayout 클래스를 확장하여 작동합니다.

그럼 당신은 단순히 당신의 log4j conf의이 같은 작업을 수행 할 수 있습니다 여기에

og4j.appender.stdout.layout=com.acme.ANSIColorLayout 

가 링크의 하나 ANSIColorLayout.java에 준비가 사용하기 :

http://code.google.com/p/a-distributed-file-system/source/browse/trunk/DistributedFileSystem/ui/net/dfs/ui/ANSIColorLayout.java

+0

하는 링크가이어야한다 깨진 당신은 Google * "ANSIColorLayout extends PatternLayout"* 및 다른 링크를 찾을 수 있습니다 :) – TacticalCoder

+0

이것은 바보 같은 질문처럼 보일지도 모르지만 어떻게 Log4J conf를 편집하여 Color Class ? 나는 그것을 가지고 있는지 잘 모르겠다? –

+0

@Dan_Dan_Man : 사용중인 log4j conf 파일의 유형에 따라 다릅니다. 색상 로거를 사용하려면 * stdout * 출력을 변경할 수있는 행을 추가했습니다. – TacticalCoder

관련 문제