我将log4j.properties
与Solr 5.2一起使用。我的Solr正在生产环境中工作,所以除非真的有必要,否则我不想重新启动它。
我改变了什么:
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在没有重新启动Solr进程的情况下使用更改的log4j.properties
文件。
有可能吗?
答案 0 :(得分:0)
不,您将需要重新启动Solr,以便log4j.properties中的新设置启动。
如果不重新启动更改任何类的级别日志记录,您可以执行的操作。你在
中这样做重新启动Solr时,任何更改都将被重置。这对你的情况没有帮助,只是提到完整性,对某些人来说可能已经足够了。
答案 1 :(得分:0)
据我所知,不可能在Solr中自动重新加载log4j配置,或者至少没有实现这样的行为。
所以你需要重启你的Solr实例。
但是考虑到Solr使用Log4J 1.2版进行日志记录,请看一下(取自Log4j FAQ):
Is there a way to get log4j to automatically reload a configuration file if it changes?
是。 DOMConfigurator和PropertyConfigurator都支持 通过configureAndWatch方法自动重新加载。请参阅API 文档了解更多详情。
这意味着您可以开发自己的组件,以实现所需的行为。