2010-05-04 3 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 общедоступных записей. К сожалению, Digester не выводит никаких сообщений INFO, только DEBUG и, по крайней мере, на eclipse, SimpleLog не выводит сообщения DEBUG вообще! В результате не было сообщений INFO (потому что Digester ничего не отправляет) и никаких сообщений DEBUG (потому что SimpleLog не пересылает их!) Как только я переключился на log4j, все отладочные сообщения вышли из строя! Еще раз спасибо.

ответ

1

Я предлагаю вам не использовать запись в сообществах. У него есть некоторые проблемы, например, неплохо играть с Tomcat 5.5 и выше.

Если вы пишете собственное приложение (а не библиотеку), я предлагаю вам код непосредственно в Log4j. Прочтите учебник по адресу http://logging.apache.org/log4j/1.2/manual.html. Вы будете иметь log4j.properties файл как так

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 

Затем в приложении вы будете использовать

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

Если вместо этого вы пишете библиотеку для распространения (то, что большинство людей использовали для Commons Logging в спине день), посмотрите на sl4j. http://www.slf4j.org/. Большинство библиотек переключается на это, а не на ведение журнала сообщества.