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");
}
le mostrarnos su appender en su configuración de log4j, por favor – Chris
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