2012-08-07 13 views
5

Estoy usando Logback en mi aplicación alojada en Websphere App Server. Logback está configurado para iniciar sesión en System Out (y otros dudan en cambiar a un archivo diferente). El problema es que Websphere usa su propio formato para iniciar sesión en System Out. La ejecución de logger.debug("test") en mis rendimientos de aplicaciones:Websphere con Logback logging to system out - problema de formato

[8/7/12 12:27:55:629 CDT] 0000003a SystemOut  O DEBUG com.myapp... test 

donde todo hasta la "O" se añade por WebSphere. El resto es de Logback

He configurado Logback para usar el siguiente patrón: %-5level %logger{36} - %msg%n para que no repita la marca de tiempo y la información del hilo que Websphere hace por sí sola, pero aún me molesta que no pueda Personalice el registro en System Out desde Logback.

No sé mucho sobre las mejores prácticas de registro. Antes, me he conectado a archivos separados por la aplicación web, pero para este proyecto, me dijeron que los archivos de System Out son monitoreados por un tercero y no debería cambiar de usar System Out. ¿Hay alguna manera de evitar mi problema dados estos requisitos y decirle a Websphere que no se meta con mi registro de System Out, o es la única solución para iniciar el registro en un archivo diferente? ¡Gracias!

Respuesta

2

No creo que pueda cambiar el formato. Y si pudiera, podría romper la supervisión actual de todos modos.

Me pregunto si a alguien le importaría si se conecta a dos registradores al mismo tiempo, SystemOut para el monitoreo existente y el suyo propio para un formato más legible.

+0

Dos registradores es una buena idea. Sería bueno para el equipo de desarrollo tener su propio archivo de registro y el equipo de monitoreo uno por separado. –

3

Su logback está configurado para escribir mensajes en System.out. Sin embargo, todo lo que se escribe en System.out es redirigido por WebSphere y escrito en el archivo SystemOut.log con el mismo formato que los mensajes de registro producidos por WebSphere, pero con un indicador de gravedad "O". No es posible cambiar eso.

Tenga en cuenta que las personas que le dijeron que use SystemOut.log realmente significa que debe asegurarse de que el registro se realiza utilizando el sistema de registro de WebSphere para que los mensajes se escriban con la categoría y gravedad correctas y que los niveles de registro se puedan cambiar en tiempo de ejecución. Como el sistema de registro de WebSphere está construido en java.util.logging, probablemente debería simplemente reemplazar el logback por slf4j-jdk14 para satisfacer sus requisitos.

+0

Dijo que necesitaban SystemOut.log porque ese archivo está supervisado por un tercero, lo que no me sorprende. Tenemos herramientas externas que supervisan los archivos de registro nosotros mismos, aunque podemos decirles a esas herramientas que supervisen otros archivos. (Sería mejor, IMO, si pudieras persuadir a la tercera parte para que monitoree un archivo adicional para ti, aunque si el formato es diferente, su monitoreo también debería cambiar). – dbreaux