2010-02-12 15 views
5

¿Hay alguna manera de configurar un archivo log4j.xml para que varios appenders compartan el mismo diseño? He copiado el parámetro de diseño en cada uno de los apéndices, pero me duele (y me parece raro que tenga que hacer esto) actualizarlo en varios lugares si el patrón cambia.java log4j.xml appenders múltiples que comparten un diseño

gracias, Jeff

+0

¿Cuántos appenders tienes? Si tienes tantos que es difícil mantenerlos, es probable que estés haciendo las cosas mal. – skaffman

+0

Ahora tengo 2. Un appender de consola y un appender de archivo. Simplemente prefiero que los mensajes de registro se vean iguales en ambos y tengo el mismo patrón de diseño para ambos. Parece que debería ser capaz de consolidar ... –

Respuesta

3

Ha considerado el uso log4j.properties en lugar de log4j.xml? La versión de propiedades acepta la sustitución de variables para los valores.

Puede crear sus propias propiedades dentro del archivo log4j.properties (someProp=value) y luego usar ${someProp} para obtener el valor.

Por lo que recuerdo (aunque no estoy seguro: D) también puede tener esto en el archivo log4j.xml pero las variables deben definirse como variables de sistema (-DsomeProp=value) y en su log4j.xml nuevamente usa ${someProp}. Sin embargo, esta versión es un poco desordenada porque no tiene los params declarados en el mismo lugar donde los está utilizando, como lo hace en log4j.properties.

+0

Lo probaré con log4j.properties. Creo que tienes razón de que es compatible con las propiedades, pero por alguna razón me gusta más el formato xml. Gracias. –

Cuestiones relacionadas