2011-06-01 14 views
15

Estoy buscando específicamente la más actualizada, moderna SysLogHandler para java.util.logging.¿Cuál es la forma más moderna de iniciar sesión en syslog con un manejador java.util.logging?

He encontrado algunos que se remontan a 2001 - 2003, en su mayoría sin soporte ahora.

Sé que syslog es un servicio bastante estático, me pregunto antes de escribir algo, si hay implementaciones de controladores más recientes que admitan las características de Java 1.5 y más recientes.

Estoy no interesado en cualquiera de los otros marcos de registro o bibliotecas contenedoras/proxy.

Estoy no buscando SLF4J o cualquier otro marco de registro alternativo, como se sugiere en este question.

+0

Puede escribir un código para hacerlo. O usa una biblioteca que ya puede hacerlo. Ya que Java no puede hacerlo de la caja. –

+0

Sé que no está buscando SLF4J, pero aún así lo recomiendo encarecidamente incluso si va a utilizar el registro de utilidades debajo. – Darien

+0

escríbelo usted mismo, probablemente tendría menos tiempo que la discusión aquí. Lo sé, si necesito un controlador, simplemente lo escribo yo mismo. java.util.logging prácticamente no se modificó en java5, en 6_18 hicieron una referencia débil a los registradores. – bestsss

Respuesta

9

me encontré con el mismo problema - me necesito una clase de extensión Syslog para java.util.logging.Handler

Después de buscar en Internet sin ningún éxito, terminé creando mi propia aplicación - con http://code.google.com/p/agafua-syslog/ soporte de protocolos UDP y TCP. Lo uso en un proyecto de producción.

+0

Para usar con tomcat debe instalarse en '$ CATALINA_HOME/endorsed'. –

+2

Debido a una desaprobación del proyecto de Google Code migrado a http://rusv.github.io/agafua- syslog / – geert3

2

En un trabajo anterior, utilicé la biblioteca Syslog4j y conecté un Log4j-appender personalizado para ello, por lo que probablemente pueda hacer algo similar implementando un java.util.logging.Handler personalizado que pase los mensajes.

+0

El enlace syslog4j parece estar roto :-( – Leo

2

Syslog (al menos en Linux) escucha en un puerto UDP para la entrada (514/udp por defecto).

Implemente un controlador que envía los mensajes formateados a este puerto. Utilicé el SocketHandler como referencia e implementé una alternativa alrededor de un DatagramSocket. El mío llegó a cerca de 200 líneas all-in.

Cuestiones relacionadas