2011-05-25 70 views
0

編輯:所以看來問題出現在我的日誌處理程序/ appenders和根記錄器的日誌級別。不知何故,HQ(簡單地說是另一個應用程序)將其日誌配置爲獲取所有日誌消息。我需要的是禁止我的jsa處理程序向上傳遞日誌消息。利用log4j記錄到某個文件(總部問題)

嗨。我的日誌記錄有問題。

信息:我有幾個應用程序(包括hyperic,進一步總部)在服務器上運行。還有一個在服務器上運行的groovy應用程序/腳本。 HQ觸發一個腳本,但實際上沒有與它整合,這意味着所有HQ知道groovy腳本是由groovy腳本生成的命令行輸出。

問題:HQ日誌以某種方式獲取來自groovy腳本的所有消息。我可能會認爲,當groovy記錄它時,它也會將所有日誌打印到標準java日誌中,然後由HQ替代它。

我有一個groovy腳本的log4j配置應該使日誌記錄到默認的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的靈活性,但我懷疑它冷做了這個伎倆。

回答

0

問題不在於日誌記錄(雖然可用的additivity選項),但在groovy文件所在的目錄中。在HQ版本4.3中,hq-plugins中的所有文件都保存到tmp目錄,並且更改後的文件也保存在那裏(所以如果你有一個文件foo.txt並將它放在那裏,它會保存在tmp中;如果你以某種方式修改它,它也會保存在tmp中)。

解決方案:只需將日誌,常規腳本和其他文件從hq-plugins移除到其他位置即可。在這種情況下,Tmp目錄是$HQ_HOME/server/hq-engine/hq-server/default/tmp/deploy/