2015-02-24 141 views
1

我無法在log4j.properties中指定的目錄下創建zookeeper.log。我不確定發生了什麼問題,有人可以指導我解決這個問題我應該考慮什麼?zookeeper.log文件未在日誌目錄內創建

請在下面找到log4j.properties文件。

zookeeper.root.logger= INFO, ROLLINGFILE 
zookeeper.console.threshold= INFO 

zookeeper.log.dir= /usr/local/zookeeper-3.4.5-cdh5.3.1/logs 
zookeeper.log.file= zookeeper.log 
zookeeper.log.threshold= INFO 
zookeeper.log.maxfilesize= 256MB 
zookeeper.log.maxbackupindex= 20 

zookeeper.tracelog.dir= /usr/local/zookeeper-3.4.5-cdh5.3.1/logs 
zookeeper.tracelog.file= zookeeper_trace.log 

log4j.rootLogger= ${zookeeper.root.logger} 

# 
# console 
# Add "console" to rootlogger above if you want to use this 
# 
log4j.appender.CONSOLE= org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.Threshold= ${zookeeper.console.threshold} 
log4j.appender.CONSOLE.layout= org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern= %d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n 

# 
# Add ROLLINGFILE to rootLogger to get log file output 
# 
log4j.appender.ROLLINGFILE= org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLINGFILE.Threshold= ${zookeeper.log.threshold} 
log4j.appender.ROLLINGFILE.File= ${zookeeper.log.dir}/${zookeeper.log.file} 
log4j.appender.ROLLINGFILE.MaxFileSize= ${zookeeper.log.maxfilesize} 
log4j.appender.ROLLINGFILE.MaxBackupIndex=${zookeeper.log.maxbackupindex} 
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n 

# 
# Add TRACEFILE to rootLogger to get log file output 
# Log TRACE 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.log.dir}/${zookeeper.tracelog.file} 

log4j.appender.TRACEFILE.layout= org.apache.log4j.PatternLayout 
### Notice we are including log4j's NDC here (%x) 
log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n 
+0

爲什麼標記廚師和廚師食譜,因爲它是log4j問題? (我敢打賭,zookeeper目錄中的權限問題讓用戶動物園管理員運行) – Tensibai 2015-02-25 09:56:01

+0

好的,我將刪除它。這是將ZOOCFGDIR分配給zookeeper-env.sh中的類路徑的問題。它現在工作正常 – 2015-02-25 10:48:23

+0

你可以用自己的解釋來解答它,它可以幫助未來的人;) – Tensibai 2015-02-25 10:49:30

回答

2

對於廚師: 1)創建飼養員-env.sh.erb模板文件,並設置類路徑。

NAME=zookeeper 
ZOODIR="path/to/zookeeper/directory" 
ZOOCFGDIR="$ZOODIR/conf" 

CLASSPATH="$ZOOCFGDIR:$ZOODIR/build/classes:$ZOODIR/bin/build/lib/*.jar:$ZOODIR/lib/slf4j-api-1.7.5.jar:$ZOODIR/lib/netty-3.2.2.Final.jar:$ZOODIR/lib/log4j-1.2.16.jar:$ZOODIR/lib/jline-0.9.94.jar:$ZOODIR/zookeeper-3.4.5-cdh5.3.1.jar:$ZOODIR/src/java/lib/*.jar" 


ZOOCFG="$ZOOCFGDIR/zoo.cfg" 
ZOO_LOG_DIR="path/to/zookeeper/log/directory" 
PIDDIR="~/zookeeper/data/$NAME" 
PIDFILE="$PIDDIR/$NAME.pid" 
SCRIPTNAME="/etc/init.d/$NAME" 
JAVA="/usr/java/jdk1.8.0_25" 
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain" 
ZOO_LOG4J_PROP="INFO,ROLLINGFILE" 
JMXLOCALONLY=false 
JAVA_OPTS="-Xms128M -Xmx512M" 
  • 放置下動物園管理員此文件/ conf目錄
  • 我假定此工作,因爲zoocfg DIR正在通過zookeeper-env.sh訪問如在zkEnv看到.sh文件在zookeeper/bin文件夾中:

    if [ -f "${ZOOCFGDIR}/zookeeper-env.sh" ]; then 
        . "${ZOOCFGDIR}/zookeeper-env.sh" 
    fi