2010-05-04 2 views
2

Apache Commons Digester에 로그인하는 데 문제가 있습니다. 나는 누군가가 흘릴 수있는 어떤 빛이라도 대단히 감사 할 것입니다. 내 코드에서Digester에 Apache Commons를 기록하는 방법은 무엇입니까?

나는이 일을하고있어 다음과 같이

Digester digester = new Digester(); 
// some Digester set up stuff 

// What on earth should go in here???? 
digester.setLogger(LogFactory.getLog("org.apache.commons.logging.Log")); 

내가 내 클래스 경로에 commons-logging.properties 파일이 :

org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog 
org.apache.commons.logging.simplelog.log.org.apache.commons.digester.Digester=debug 
org.apache.commons.logging.simplelog.log.org.apache.commons.digester.Digester.sax=info 

난 그냥 전혀 디버그 정보를 얻을 수 없습니다.

도움 주셔서 감사합니다.

업데이트 : 답변을 주셔서 감사합니다. bwawok - 그게 문제입니다. docs for Digester에서 그들은 단지 SimpleLog의 commons-logging을 사용할 수 있다고 제안합니다. 아쉽게도 Digester은 INFO 메시지, DEBUG 및 적어도 eclipse에서만 출력하는 것으로 나타나지 않으며 SimpleLog은 DEBUG 메시지를 전혀 출력하지 않습니다! 결과는 INFO 메시지가 아니기 때문에 (Digester은 아무 것도 전송하지 않았기 때문에) 그리고 디버그 메시지가 없었기 때문에 (SimpleLog이 메시지를 전달하지 않았기 때문에!) 일단 log4j로 전환하면 모든 디버그 메시지가 튀어 나오게되었습니다! 다시 한번 감사드립니다.

답변

1

커먼 로깅을 사용하지 않는 것이 좋습니다. Tomcat 5.5 이상에서는 잘 동작하지 않는 등의 문제가 있습니다.

라이브러리가 아닌 자신의 응용 프로그램을 작성하는 경우 Log4j에 직접 코드를 작성하는 것이 좋습니다. http://logging.apache.org/log4j/1.2/manual.html에서 자습서를 읽으십시오. 당신은 당신이 라이브러리를 작성하는 대신 경우 응용 프로그램에서 당신은 대부분의 사람들이 다시 로깅 공유지를 사용하는 것 (배포

Logger logger = Logger.getLogger(MyClassName.class); 
logger.info("Doing something I want to log at info... "); 
logger.warn("Danger!"); 

을 사용하므로

log4j.rootLogger=debug, stdout, R 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

# Pattern to output the caller's file name and line number. 
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=example.log 

log4j.appender.R.MaxFileSize=100KB 
# Keep one backup file 
log4j.appender.R.MaxBackupIndex=1 

log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

같은 log4j.properties 파일이됩니다 하루), sl4j를 들여다보십시오. http://www.slf4j.org/. 대부분의 도서관은 커먼즈 로깅 대신이 기능으로 전환하고 있습니다.

관련 문제