Я отправляю сообщения в Syslog, используя два Apache SyslogAppenders в Java. Мои ConversionPatterns являются:
Instance-${jboss.server.name}: %d %-5p [%c] (%t) %m%n
Application-MyApp: ${jboss.server.name} - %d %-5p [%c] (%t) %m%n
Я тогда различные категории Log4J настроены для отправки различных сообщений, либо один из, или обоих appenders.
В моем файле конфигурации системного журнала, у меня есть:
destination d_jboss_appli_integ {
file("/var/log/syslog-ng/JBoss/intg/Applications/$PROGRAM/$YEAR$MONTH$DAY.log"
template("Application-$PROGRAM: $MSG\n"));
};
destination d_jboss_instance_integ {
file("/var/log/syslog-ng/JBoss/intg/Instances/$PROGRAM/$YEAR$MONTH$DAY.log"
template("Instance-$PROGRAM: $MSG\n"));
};
Как это, что я хочу иметь регистрирует в файл /var/log/syslog-ng/JBoss/intg/Applications/MyApp/
и в файл /var/log/syslog-ng/JBoss/intg/Instances/${jboss.server.name}/
где ${jboss.server.name}
заменяется именем сервера JBoss.
Вместо этого я получаю журналы, записанные в папки под названием Application-MyApp
и Instance-${jboss.server.name}
.
Возможно ли использовать директиву template() в Syslog для правильного извлечения из сообщений сообщений $PROGRAM
, получения MyApp и ${jboss.server.name}
соответственно?
Заранее спасибо
Rich
пс: просто быть ясно ${jboss.server.name}
будет должным образом расширяется во всем мире.