2

我是 solr 的新手,对 java 不是很好。

我们使用 solr 作为我们的搜索解决方案,tomcat 在 windows 中作为服务托管,solr 在 tomcat 中运行。

我们正在尝试为 tomcat 实现日志轮换。我们尝试使用log4j.propertiesin 和logging.properties. 但出于某种原因,stdout 和 stderr 仍在堆积并占用大量空间。

我们正在使用log4j.properties旋转 solr 日志。

如果我们能在旋转 stdout 和 stderr 日志方面获得一些帮助,我们将不胜感激。

我们尝试了 3 种不同的方法,但都没有按预期工作。

  1. 将标准输出添加到 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

  2. 在 tomcat 中为 logging.properties 添加了文件大小限制。

    java.util.logging.FileHandler.limit = 2000000 java.util.logging.FileHandler.count = 5

  3. 更新 Monitor Tomcat 应用程序中的 Java 属性。

在tomcat的java选项卡下添加了以下java选项

-Djava.util.logging.FileHandler.limit=25000000

所有这些尝试都失败了,我们不得不重新启动 tomcat 来旋转文件,这在生产中是不可取的。

Tomcat:8.0.20
Solr:4.10.3
操作系统:Windows

4

0 回答 0