2011-12-01 11 views
7

Tengo una aplicación java utilizando log4j SyslogAppender (facility = USER) y puedo ver usando tcpdump en el puerto 514 que mi aplicación está enviando el mensaje de registro deseado como un datagrama y también netstat me muestra que syslogd (red hat) se está ejecutando y escuchando en 0.0.0.0:514 pero no veo ningún registro en/var/log/messages.Log4j y syslogappender

En mi syslog.conf, tengo

*.info   /var/log/messages 

Mi patrón de conversión para SyslogAppender es

%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n" 

soy ni idea de por qué está fallando para iniciar la sesión o dónde exactamente debería buscar para mira lo que está fallando Y no tengo suficientes permisos en el equipo para iniciar/detener syslogd o ejecutarlo manualmente para tener habilitados los registros detallados de depuración.

¿Alguna sugerencia sobre cómo procedo?

Editar:

El Appender de abajo

private void initSyslog() { 
    SyslogAppender syslogAppender = new SyslogAppender(); 
    syslogAppender.setName("syslog"); 
    syslogAppender.setLayout(new PatternLayout("%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n")); 
    syslogAppender.setFacility("USER"); 
    syslogAppender.setFacilityPrinting(true); 
    syslogAppender.setSyslogHost("localhost"); 
    syslogAppender.activateOptions(); 
    Logger.getRootLogger().addAppender(syslogAppender); 
    Logger.getRootLogger.info("Syslogdone"); 
} 
+0

le mostrarnos su appender en su configuración de log4j, por favor – Chris

+0

Voy a configurar Syslog appender durante el tiempo de ejecución y aquí está initSyslog private void() { SyslogAppender syslogAppender = new SyslogAppender(); syslogAppender.setName ("syslog"); syslogAppender.setLayout (nuevo PatternLayout% d {MMM dd HH: mm: ss}% F% L% 5p [% t]% m% n ")); syslogAppender.setFacility (" USUARIO "); syslogAppender.setFacilityPrinting (true); syslogAppender.setSyslogHost ("localhost"); syslogAppender.activateOptions();. Logger.getRootLogger() addAppender (syslogAppender); Logger.getRootLogger.info ("Syslogdone");} – Prasanna

Respuesta

9

El registro remoto no se habilitó en syslog. Es extraño, porque aún se abre y escucha en 514. Una vez que comencé con syslog -r, todo comenzó a registrarse.

+0

Por favor, añada su pregunta como anwered. – Ztyx

0

Tal vez esto ayude: http://wiki.loggly.com/log4j

Es sólo un ejemplo creado con el uso de SyslogAppender. Simplemente ignore la parte acerca de reenviarlo a Loggly.

+2

se parece un enlace roto :-( – Leo

+0

era esta página: https://www.loggly.com/docs/java-log4j/? – Shadocko