prevencion posicion palabra operaciones mercado mensaje integracion instrumento diccionario abreviatura java log4j logging
v1.2.16

java - posicion - diccionario de abreviatura



log4j: abreviar/acortar nombres de paquetes (2)

¿Cómo puedo abreviar / acortar los nombres de los paquetes en el registro generado usando log4j? es decir, en lugar de com.longpackage.anotherpackage.lastpackage.MyClass quiero clalMyClass . Lo he visto en los registros de Artifactory , pero no sé cómo lograrlo con log4j.


Artifactory usa Logback :

Proyectos conocidos por confiar en logback:

  • [...]

  • Artifactory

que tiene esta bonita característica llamada LogBack :

Conversion specifier | Logger name | Result %logger | mainPackage.sub.sample.Bar | mainPackage.sub.sample.Bar %logger{0} | mainPackage.sub.sample.Bar | Bar %logger{5} | mainPackage.sub.sample.Bar | m.s.s.Bar %logger{10} | mainPackage.sub.sample.Bar | m.s.s.Bar %logger{15} | mainPackage.sub.sample.Bar | m.s.sample.Bar %logger{16} | mainPackage.sub.sample.Bar | m.sub.sample.Bar %logger{26} | mainPackage.sub.sample.Bar | mainPackage.sub.sample.Bar

* Extraño las tablas en SO markdown tan mucho ...


Resulta que esto es posible usando log4j después de todo (probado usando v1.2.16 ), gracias a Tomasz Nurkiewicz por señalarme LogBack . La característica, ConversionWord, está disponible utilizando el diseño EnhancedPatternLayout .

Desde el javadoc

... For example, for the category name "alpha.beta.gamma" the pattern %c{2} will output the last two elements ("beta.gamma"), %c{-2} will remove two elements leaving "gamma", %c{1.} will output "abgamma" ...

Estoy usando JBoss y tuve que actualizar log4j y usar el diseño anterior.