Log4j filtrar por clase los mensajes a debugear

eldrum
05 de Febrero del 2004
Me explico estoy desarrollando en java desde hace una temporada, y tras leer un poco de Log4j lo he encontrado bastante interesante.

Mi problema es que no se como hacer lo siguiente: Quiero filtrar los mensajes a mostrar de acuerdo con la clase que de origen a dicho mensaje.

Un caso concreto: estoy usando Hibernate, una libreria que usa log4j. Si uso log4j en mi programa y quiero debugear todos los mensajes de mi codigo, pero solo las alertas de las clases de Hibernate (suponiendo que hibernate ya este bien configurada)...

No se si sera posible, pero en caso de que alguien pueda dar una respuesta agradeceria un memo en el mail.

alozano
05 de Febrero del 2004
Hola eldrum,

En la aplicación en la que estoy trabajando también utilizo la librería log4j y ésto es lo que hago para debugear todos los msg:

En las clases arriba escribo:

import org.apache.log4j.Logger;

Para definir:

Logger logger = Logger.getLogger(
"mensaje que quieres que te aparezca");

para que te salgan los mensajes en un fichero escribes en la clase:
logger.debug("mensaje a escribir" + vble a visualizar);


A la altura de la carpeta classes hay un properties llamado Log4j.properties donde se configura este log Debug de esta manera:

log4j.rootLogger=DEBUG, A1

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyyMMdd
log4j.appender.A1.File=c:/temp/fichero.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{DATE} [%10r] [%t] %-5p [%c] %m %n


Espero que te sirva de ayuda.

Un saludo,

Ana.