启动debug 调试zookeeper项目 ,console 管理控制台将会输出如下警告信息。 java
log4j:WARN No appenders could be found for logger (org.apache.log4j.jmx.HierarchyDynamicMBean). log4j:WARN Please initialize the log4j system properly.
为了输出日志方便往后的跟踪调试,但愿可使用log4j将日志输出到管理控制台和日志文件中。 apache
在源代码conf 目录下 ,项目自带有 log4j.properties 文件 app
program arguments使用 zookeeper 默认配置文件进行启动 eclipse
E:\zk\zookeeper-3.3.6\conf\zoo_sample.cfg ui
eclipse vm arguments 指定 使用log4j .net
-Dzookeeper.log.dir=file:/E:/zk/log
-Dzookeeper.root.logger=DEBUG,CONSOLE,ROLLINGFILE
-Dlog4j.configuration=file:/E:/zk/zookeeper-3.3.6/conf/log4j.properties debug
其中滚动日志的输出目录能够经过 log4j.appender.ROLLINGFILE.File=E:/zk/log/zookeeper.log 来配置, 调试
再运行调试,eclipse 管理控制台将不在打印警告,在 E:/zk/log 目录能够找到咱们要的 zookeeper.log 日志文件。 日志
# # ZooKeeper Logging Configuration # # Format is "<default threshold> (, <appender>)+ # DEFAULT: console appender only log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE # Example with rolling log file #log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE # Example with rolling log file and tracing #log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE # # Log INFO level and above messages to the console # log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n # # Add ROLLINGFILE to rootLogger to get log file output # Log DEBUG level and above messages to a log file log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLINGFILE.Threshold=DEBUG log4j.appender.ROLLINGFILE.File=E:/zk/log/zookeeper.log # Max log file size of 10MB log4j.appender.ROLLINGFILE.MaxFileSize=10MB # uncomment the next line to limit number of backup files #log4j.appender.ROLLINGFILE.MaxBackupIndex=10 log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n # # Add TRACEFILE to rootLogger to get log file output # Log DEBUG level and above messages to a log file log4j.appender.TRACEFILE=org.apache.log4j.FileAppender log4j.appender.TRACEFILE.Threshold=TRACE log4j.appender.TRACEFILE.File=zookeeper_trace.log log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout ### Notice we are including log4j's NDC here (%x) log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L][%x] - %m%n
参考文档: code
http://fanrey.iteye.com/blog/1683137
http://www.tuicool.com/articles/2MJf6j
http://my.oschina.net/pingpangkuangmo/blog?catalog=3305102