РЕДАКТИРОВАТЬ: Таким образом, похоже, что проблема заключается в уровне журнала моих обработчиков журналов/аппендеров и корневого регистратора. Каким-то образом 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 для гибкости, хотя я сомневаюсь, что холод проделал этот трюк.