2012-02-11 4 views
3

Я изо всех сил стараюсь сделать Glassfish 3.1.1 для входа в syslog, но я не могу. Я не знаю, если это ошибка, но я даже не знаю, как ее отладить.Glassfish to Syslog

Первый и очевидный шаг: я проверил окно на консоли администратора, чтобы записать в системный журнал, а также после того, как я также пометил флажок в системной консоли. Ни один из них не работал.

Я проверил logging.properties и эта линия есть

com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=true 

погуглить я нашел несколько людей, жалующихся с оставленными вопросами. Есть ли что-то еще, что я должен сделать, или мне нужно написать собственный обработчик журнала для этого?

ответ

2

Соединение с syslog сменилось с GF 2.1, где была использована собственная библиотека libutilforsyslog.so. Кажется мне, что вы теперь должны предоставить порт UDP 514 на локальном хосте получать системные сообщения от GlassFish 3.

com.sun.enterprise.server.logging.SyslogHandler создает в системном журнале экземпляр так:

sysLogger = new Syslog("localhost"); //for now only write to this host 

... который является экземпляром com.sun.enterprise.server.logging.Syslog. Этот класс строит дейтаграмму UDP, которая отправляется на порт 514 (жестко запрограммированный).

У меня есть пакет syslog-ng на моем хосте Debian, на котором я запускаю GlassFish. Syslog-нг сконфигурирована с локальным журналом ЦСИ по умолчанию:

source s_src { unix-dgram("/dev/log"); internal(); 
      file("/proc/kmsg" program_override("kernel")); 
}; 

В этом примере вы можете просто добавить слушатель для порта UDP 514:

udp(ip(127.0.0.1) port(514)); 
0

Для того, чтобы включить системный журнал в Glassfish 4.1 должны изменить logging.properties в домене (например, GlassFish/домены/domain1/конфигурации)

линия

handlerServices=com.sun.enterprise.server.logging.GFFileHandler 

должен быть изменен в

handlerServices=com.sun.enterprise.server.logging.GFFileHandler,com.sun.enterprise.server.logging.SyslogHandler 

см: [GLASSFISH-20718] Write to System Log option do not send log on localhost udp port 514

Для того, чтобы сделать это изменение чистого пути вместо изменения logging.properties непосредственно вы можете использовать asadmin следующим образом:

bash-4.3# asadmin set-log-attributes handlers=java.util.logging.ConsoleHandler,com.sun.enterprise.server.logging.SyslogHandler 

handlers logging attribute value set to java.util.logging.ConsoleHandler,com.sun.enterprise.server.logging.SyslogHandler. 
The logging attributes are saved successfully for server. 

Наконец, чтобы включить Syslog, вы можете вызвать asadmin следующим образом:

bash-4.3# asadmin set-log-attributes com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=true 

com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging logging attribute value set to true. 
The logging attributes are saved successfully for server.