Log4j: cómo definir un diseño común y ConversionPattern para múltiples appenders

Tengo varios apéndices en mi log4j config, y me preguntaba si sería posible definir el diseño y el patrón de conversión de una vez para todos. Es decir, tengo

log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c %x - %m%n

log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=0
log4j.appender.FA.MaxFileSize=100Mb
log4j.appender.FA.File=log/my.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c %x - %m%n

y me gustaría saber si y cómo podría definir las dos últimas filas de la configuración de cada appender solo una vez.

preguntado el 08 de noviembre de 11 a las 16:11

2 Respuestas

No estoy seguro de si es exactamente lo que desea, pero con lo siguiente puede definir el diseño en 1 lugar:

PATTERN = %-4r [%t] %-5p %c %x - %m%n

log4j.rootLogger=info, A
log4j.logger.FILE = info, FILE

log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=${PATTERN}

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=${PATTERN}

Saludos,

Respondido el 30 de enero de 12 a las 14:01

sugerencia interesante, aunque no permite definir los otros parámetros solo una vez - cdarwin

Al verificar más profundamente la implementación del análisis de configuración en log4j, me he dado cuenta de que es solo un análisis simple y que no se implementan características similares a las de referencia. Entonces, solo duplica :)

respondido 08 nov., 11:21

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.