2017-04-18 138 views
1

我使用log4j.properties與Solr 5.2。我的Solr正在生產環境中工作,所以除非真的有必要,否則我不想重新啓動它。Solr是否可以在不重新啓動Solr的情況下加載新的log4j.properties配置文件?

我改變什麼:

log4j.appender.file=org.apache.log4j.RollingFileAppender 

到:

log4j.appender.APP=path.to.class.CustomRollingFileAppender 
log4j.appender.APP.DatePattern='.'yyyy-MM-dd 
log4j.appender.APP.TimeInterval=1 

我想Solr的使用改變log4j.properties文件,而無需重新啓動Solr的過程。

可能嗎?

回答

0

不,你將需要重新啓動Solr的所以在log4j.properties踢新設置的。

你可以無需重新啓動改變級日誌記錄對於任何類做些什麼。你這樣做在

  1. 轉到Solr的儀表盤
  2. 下記錄/級別去(這將是http://localhost:8983/solr/#/~logging/level在我的本地安裝)

,當你重新啓動Solr的任何變化都會有復位。這對你的情況沒有幫助,只是提到完整性,對某些人來說可能就足夠了。

0

據我所知不可能在Solr中自動重新加載log4j配置,或者至少沒有實現這樣的行爲。

所以你需要重新啓動你的Solr實例。

但考慮到Solr的使用log4j 1.2版本的日誌,看看這個(從Log4j的常見問題採取):

Is there a way to get log4j to automatically reload a configuration file if it changes?

是。 DOMConfigurator和PropertyConfigurator都支持通過configureAndWatch方法自動重新加載 。有關更多詳細信息,請參閱API 文檔。

這意味着您可以或者開發自己的組件來實現您所需的行爲。

相關問題