1

我在 Tomcat 6 中运行了 Solr 4。该应用程序运行得很好,但我无法让 Tomcat 将日志写入我想要的位置。这是我conf/logging.properties文件的相关部分。

handlers = 1catalina.org.apache.juli.FileHandler, \
           2localhost.org.apache.juli.FileHandler, \
           3manager.org.apache.juli.FileHandler, \
           4host-manager.org.apache.juli.FileHandler, \
           5solr.org.apache.juli.FileHandler, \
           java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

5solr.org.apache.juli.FileHandler.level = FINE
5solr.org.apache.juli.FileHandler.directory = /var/log/solr
5solr.org.apache.juli.FileHandler.prefix = solr.

# SNIP...

############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/solr].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/solr].handlers = 5solr.org.apache.juli.FileHandler

# SNIP...

我已经剪掉了Handlers 1 - 4 的设置,因为我没有改变它们在我安装 Tomcat 时的设置。

当我启动 Tomcat 时,它会创建以下日志文​​件。

$ ls -l $CATALINA_HOME/logs
-rw-rw-r-- 1 webapp webapp 11836 Feb  4 18:29 catalina.2013-02-04.log
-rw-rw-r-- 1 webapp webapp 11836 Feb  4 18:29 catalina.out

$ ls /var/log/solr -l
-rw-rw-r-- 1 webapp webapp 0 Feb  4 18:29 solr.2013-02-04.log

这些文件包含 Solrcatalina.outcatalina.2013-02-04.log日志输出。我试图做的logging.properties是把 Solr 登录/var/log/solr

我预计发生的事情是 Tomcat 获取了我的更改logging.properties并在 中创建了日志文件/var/log/solr,但是 Solr 的日志消息没有到达正确的位置,最终一直到根记录器。

Solr 使用 SLF4J,它应该能够将日志写入java.util.logging接口,但 Tomcat 重新实现了该接口的一部分 (JULI) 以允许每个上下文有一个单独的记录器。SLF4J 和 JULI 之间是否存在一些不兼容?我怎样才能解决这个问题?

4

1 回答 1

1

您应该将 solr 处理程序设置为新添加的处理程序:-

org.apache.solr.level = INFO
org.apache.solr.handlers = 5solr.org.apache.juli.FileHandler
于 2013-02-06T13:10:06.787 回答