我是 solr 的新手,对 java 不是很好。
我们使用 solr 作为我们的搜索解决方案,tomcat 在 windows 中作为服务托管,solr 在 tomcat 中运行。
我们正在尝试为 tomcat 实现日志轮换。我们尝试使用log4j.properties
in 和logging.properties
. 但出于某种原因,stdout 和 stderr 仍在堆积并占用大量空间。
我们正在使用log4j.properties
旋转 solr 日志。
如果我们能在旋转 stdout 和 stderr 日志方面获得一些帮助,我们将不胜感激。
我们尝试了 3 种不同的方法,但都没有按预期工作。
将标准输出添加到 log4j.properties
solr.log=logs/log4j.rootLogger=错误,标准输出
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n
使用日志清理进行大小轮换。
log4j.appender.stdout=org.apache.log4j.RollingFileAppender log4j.appender.stdout.MaxFileSize=4MB log4j.appender.stdout.MaxBackupIndex=9
- 要记录的文件和记录格式
log4j.appender.stdout.File=${solr.log}/solr.log log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-5p - %d{ yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n
在 tomcat 中为 logging.properties 添加了文件大小限制。
java.util.logging.FileHandler.limit = 2000000 java.util.logging.FileHandler.count = 5
更新 Monitor Tomcat 应用程序中的 Java 属性。
在tomcat的java选项卡下添加了以下java选项
-Djava.util.logging.FileHandler.limit=25000000
所有这些尝试都失败了,我们不得不重新启动 tomcat 来旋转文件,这在生产中是不可取的。
Tomcat:8.0.20
Solr:4.10.3
操作系统:Windows