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

需要明确的是,涉及两个log4j.properties文件。一个由 Homebrew 创建写入/usr/local/etc/zookeeper/log4j.properties. 此文件不是上述错误消息的原因。

另一个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 回答