2017-04-18 61 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 文档。

这意味着您可以或者开发自己的组件来实现您所需的行为。

相关问题