El uso de nombre de la clase Java simple en el registro formateador

Hari Nair:

Tengo un SimpleFormatter para el registro en mi aplicación con la cadena
"%1$tF %1$tT %4$-7s %2$s %5$s%6$s%n"

Me gustaría utilizar el nombre de clase simple en lugar del nombre canónico. ¿Hay una opción de formato que puede utilizar con el campo 2 $? O si esto exige escribir un nuevo controlador?

Por ejemplo, en lugar de
2019-02-06 07:09:09 INFO simplex.tools.SIMPLEXScheduler main Start

Me gustaría ver
2019-02-06 07:09:09 INFO SIMPLEXScheduler main Start

jmehrens:

¿Hay una opción de formato que puede utilizar con el campo 2 $?

El SimpleFormatter sólo es compatible con la funcionalidad en el java.util.Formatter . Actualmente no hay manera de dar formato a nombre de clase como nombre de la clase sencilla.

O si esto exige escribir un nuevo controlador?

Una opción es escribir un nuevo java.util.logging.Formatter . Hay algunos trucos que usted puede hacer con sólo instalar un java.util.logging.Filter para cambiar el nombre de la clase , pero se debe evitar hacerlo. Utilice logp lugar según lo sugerido por PJMeisch

Exención de responsabilidad: Soy un desarrollador de contenidos para com.sun.mail.util.logging paquete se incluye con el JavaMail proyecto.

Si usted tiene acceso a JavaMail puede utilizar el com.sun.mail.util.logging.CompactFormatter que sólo se imprimirá el nombre de clase sencilla. El comercio fuera es que va a imprimir seguimientos de pila compactos para las excepciones. Argumentos 1 a 6 son del mismo orden que la SimpleFormatter por lo que el mismo patrón se puede utilizar.

Si no desea incluir JavaMail continuación, puede utilizar la com.sun.mail: tala-mailhandler artefacto en su lugar.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211244&siteId=1
Recomendado
Clasificación