0

私は Mac OS X 10 を実行していbrew install zookeeperます。

/usr/local/etc/zookeeper/zoo.cfgをもとに作成しました/usr/local/etc/zookeeper/zoo_sample.cfg

その後zkServer start、問題なく動作します。

しかし、Zookeeper Java クライアントを使用する Clojure から Zookeeper に接続しようとすると、次のエラーが発生します。

log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

私のlog4j.propertiesファイル:

log4j.rootCategory=WARN, zklog
log4j.appender.zklog = org.apache.log4j.FileAppender
log4j.appender.zklog.File = /usr/local/var/log/zookeeper/zookeeper.log
log4j.appender.zklog.Append = true
log4j.appender.zklog.layout = org.apache.log4j.PatternLayout
log4j.appender.zklog.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n

だから、私の質問は次のとおりです。

  1. 私の状況に適した log4j 構成は何ですか?
  2. この警告が発生しないようにするために、homebrew は箱から出してすぐに何ができますか?
4

1 に答える 1

0

明確にするために、2 つのlog4j.propertiesファイルが関係しています。1 つは Homebrew によって作成されに書き込まれ/usr/local/etc/zookeeper/log4j.propertiesます。このファイルは、上記のエラー メッセージの原因ではありません。

もう 1 つのlog4j.propertiesファイルは、(私の) アプリケーションに固有のものです。したがって、質問のパート 1 に答えるにlog4j.propertiesは、Clojure アプリのクラスパス (srcディレクトリなど) にファイルを作成します。

log4j.rootLogger=WARN, A1
log4j.logger.user=DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %-5p %c: %m%n

log4j.logger.org.apache.zookeeper=WARN

https://github.com/clojure/tools.loggingから始めて、最後の行を追加することでこれを構築しました。

パート 2 への回答として、Homebrew は Clojure アプリケーションがログを設定する方法とは何の関係もありませんし、関係すべきでもありません。

于 2013-12-09T23:19:24.977 に答える