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

HandlerTomcat をインストールしたときの設定から変更していないため、s 1 から 4 の設定を省略しました。

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 を使用します。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 に答える