在日志目录中未创建zookeeper.log文件 [英] zookeeper.log file not created inside logs directory

查看:65
本文介绍了在日志目录中未创建zookeeper.log文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在log4j.properties中指定的目录下创建zookeeper.log.我不确定发生了什么问题,有人可以指导我解决该问题应该怎么做吗?

I'm unable to create zookeeper.log under the directory i had specified in the log4j.properties. I'm not sure what's going wrong, Can someone please direct me what should I be looking into to solve this issue?

请在下面的log4j.properties文件中找到.

Please find below the log4j.properties file.

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

推荐答案

对于Chef:1)创建zookeeper-env.sh.erb模板文件并设置类路径.

For Chef : 1) Create zookeeper-env.sh.erb template file and set the classpath.

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"

  1. 将此文件放置在zookeeper/conf目录下

我认为这是有效的,因为通过zookeeper-env.sh访问zoocfg目录,如zookeeper/bin文件夹下的zkEnv.sh文件所示:

I assume this works because zoocfg dir is being accessed through zookeeper-env.sh as seen in zkEnv.sh file under zookeeper/bin folder:

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

这篇关于在日志目录中未创建zookeeper.log文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆