我是solr的新手,对Java不太满意。
我们使用solr作为我们的搜索解决方案,并且tomcat在Windows中作为服务托管,而solr在tomcat中运行。
我们正在尝试为tomcat实现日志轮换。我们尝试在和log4j.properties
中使用logging.properties
。但是由于正弦原因,stdout和stderr仍在堆积,并占用大量空间。
我们正在使用log4j.properties
来旋转Solr日志。
如果能为旋转stdout和stderr日志获得帮助,我们将不胜感激。
我们尝试了3种不同的方法,但它们均未达到预期的效果。
将stdout添加到log4j.properties
solr.log =日志/ 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