2011-03-26 14 views
6

Actualmente tengo un administrador de registro personalizado que usa internamente java.util.Formatter. El problema principal es que no es muy útil: todo en un archivo por aplicación, no hay posibilidades de agregar registros específicos en una base de datos, no se puede enviar un correo electrónico ...Uso de java.util.Formatter como formateador predeterminado para slf4j

Así que me gustaría poder aumentar las capacidades de nuestro sistema de registro. Después de algunas pruebas, Log4J es exactamente lo que necesito en este momento. Pero me gustaría evitar el dolor de volver a cambiar esto nuevamente en el futuro, así que planeo usar slf4j encima de Log4J.

Incluso si estoy listo para hacer una gran búsqueda/reemplazo en toda mi base de código para usar slf4j, no estoy listo para revisar cada declaración de registro y reformatearla para usar el formato {} de slf4j.

Así que mi pregunta es: ¿cómo puedo usar la interfaz slf4j y decirle que internamente debería usar un java.util.Formatter en lugar de uno predeterminado, preferiblemente en un solo lugar (es decir, no en cada clase o paquete)?

Notas: se descartarán todas las respuestas que hablen sobre actuaciones o que indiquen que no debo usar j.u.Formatter: Necesito una solución pragmática para mi problema, sin iniciar un debate.

Respuesta

2

Hay un parche http://bugzilla.slf4j.org/show_bug.cgi?id=116 que se puede modificar para adaptarlo a sus necesidades. La discusión presente allí también puede dar más claridad sobre el uso de util.Formatter.

+0

Esto podría ayudar, ¿pero no hay una solución más directa? –

+0

Hmmmmm ... ¿Quiere que alguien lo escriba por usted :) ... Trate de extenderlo de la manera en que lo hicieron en Slfj Xlogger. Espero que esto ayude –

+0

Bueno, como dice la gente: un buen programador es un desarrollador perezoso :) En serio, si ya hay una solución directa, preferiría tomarla. Soy un poco reacio a mantener una versión local de slf4j con solo uno o dos cambios, pero si es necesario, bueno lo haré. –