我们正在使用带有Solr 4.0.0的Tomcat 6.0.35。我们在SolrCore的instanceDir中的lib目录中放置了一些jar文件。 在我们的jar中有一些类正在使用一些实习生的logback配置/类。(一个用于日志框架的外观(目前是Logback / SLF4J)。支持其他功能,) 我们无法使它工作,我们的jar的记录工作正在发挥作用。
我们尝试过:
编辑默认的logging.properties。在这种情况下,所有日志都属于我们的记录器,但包含我们应用程序的日志语句。
为Solr提供一个logback.xml文件,其中包含lib文件夹中的logback jar。在这种情况下,我们的日志文件中没有任何日志。
使用logback进行日志记录。在这种情况下,我们收到了来自tomcat和org.apache.catalina中其他类的不同日志。 Solr中没有日志,日志文件中没有我们的应用程序
我们可以做些什么来定制我们的日志记录? 如果可能的话,我们想使用logback。
答案 0 :(得分:0)
至少足以让Solr使用logback。因此,我们将logback-core和loback-classic jar文件放在Solr的war文件中,并提供了一个logback配置文件作为程序参数,并禁用了Solr的标准日志记录。我们认为这不是最好的解决方案,但它有效。
我们解压缩了solr.war文件:
jar xfv solr.war
rm solr.war
然后将logback-core-.jar和logback-classic-.jar复制到WEB-INF / lib文件夹
cp /SOMEPATH/logback-core-<version>.jar /SOMEPATH/logback-classic-<version>.jar WEB-INF/lib
至少我们再次构建war文件
jar cfv solr.war *
现在我们调整了程序参数: 我们在instance.env文件中设置了以下选项
export LOGGING_CONFIG="-Dnop"
export JAVA_OPTS="$JAVA_OPTS
-Dlogback.configurationFile=/SOMEPATH/logback.xml"
然后Solr通过logback记录,因为它是在logback.xml文件中指定的。我们也从Solr的应用程序中收到了日志。