Вход в определенный файл с использованием log4j (проблема с HQ)

РЕДАКТИРОВАТЬ: Таким образом, похоже, что проблема заключается в уровне журнала моих обработчиков журналов/аппендеров и корневого регистратора. Каким-то образом HQ (просто другое приложение) настроил свои журналы для получения всех сообщений журнала. Что мне нужно, так это запретить моему обработчику jsa передавать сообщения журнала на уровень выше.

Привет. У меня проблема с регистрацией.

Информация: у меня есть несколько приложений (в том числе Hyperic, далее HQ), работающих на сервере. А еще на сервере работает отличное приложение/скрипт. HQ запускает скрипт, но на самом деле не имеет с ним интеграции, а это означает, что все, что HQ знает о groovy-скрипте, — это вывод в командной строке, созданный groovy-скриптом.

Проблема: каким-то образом журналы HQ получают все сообщения от groovy script. Я могу предположить, что когда groovy ведет журнал, он также печатает все журналы в стандартный журнал Java, который, в свою очередь, переопределяется HQ.

У меня есть конфигурация log4j для groovy script, которая должна была сделать невозможной регистрацию в журнале Java по умолчанию.

log4j.rootLogger=info, jsa
log4j.logger.net.schmizz.sshj=WARN

#Defining logger scope and it's params
log4j.logger.mypackage=INFO, jsa
log4j.appender.jsa=org.apache.log4j.RollingFileAppender
log4j.appender.jsa.File=logs/jsa.log
log4j.appender.jsa.MaxFileSize=1MB
log4j.appender.jsa.MaxBackupIndex=5
log4j.appender.jsa.layout=org.apache.log4j.PatternLayout
log4j.appender.jsa.layout.ConversionPattern=%d [%t] %-5p %c (%F:%L) - %m%n

Хотя я все еще получаю все неприятные журналы.

P.S.: Я также использую slf4j для гибкости, хотя я сомневаюсь, что холод проделал этот трюк.


person Denys S.    schedule 25.05.2011    source источник


Ответы (1)


Проблема не в журналировании (хотя здесь будут полезны дополнительные опции), а в каталоге, где находятся файлы groovy. В HQ версии 4.3 все файлы в hq-plugins сохраняются в директорию tmp и туда же сохраняются измененные файлы (поэтому если у вас есть файл foo.txt и вы его туда поместите, то он сохранится в tmp; если вы как-то измените его, он также будет снова сохранен во tmp).

Решение: просто удалите логи, groovy-скрипты и другие файлы из hq-plugins в другое место. Каталог tmp в данном случае $HQ_HOME/server/hq-engine/hq-server/default/tmp/deploy/

person Denys S.    schedule 26.05.2011