gpt4 book ai didi

tomcat - 如何让 Solr 在 Tomcat 中使用 root 以外的记录器?

转载 作者:行者123 更新时间:2023-11-28 22:21:45 25 4
gpt4 key购买 nike

我在 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...

我删除了 Handler1 - 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

文件 catalina.outcatalina.2013-02-04.log 包含 Solr 的日志输出。我试图用 logging.properties 做的是将 Solr 日志放在 /var/log/solr 中。

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

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

最佳答案

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

org.apache.solr.level = INFO
org.apache.solr.handlers = 5solr.org.apache.juli.FileHandler

关于tomcat - 如何让 Solr 在 Tomcat 中使用 root 以外的记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14699482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com