栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Zookeeper为什么不使用我的log4j.properties文件日志目录

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Zookeeper为什么不使用我的log4j.properties文件日志目录

我想补充一下如何解决此问题/自定义环境。

这里有2种日志记录机制:

  • bin / zkServer.sh将zookeeper服务器的stdout和stderr重定向到zookeeper.out
  • log4j可以将日志追加到多个位置,包括:
    • 控制台-最终出现在zookeeper服务器的stdout和stderr中
    • ROLLINGFILE-发送到zookeeper.log

bin / zkServer.sh使用:

  • ZOO_LOG_DIR设置zookeeper.out和log4j的路径。
  • ZOO_LOG4J_PROP设置log4j日志记录级别以及打开了哪些日志附加程序

设置conf / log4j.properties中的“最终”默认值由Zookeeper bash脚本的组合设置:

  • ZOO_LOG_DIR =。(启动zookeeper的工作目录)
    • 在conf / log4j.properties内部设置为zookeeper.log.dir
  • ZOO_LOG4J_PROP =信息,控制台
    • 在conf / log4j.properties内部设置为zookeeper.root.logger

打开日志附加器CONSOLE的效果是,日志现在转到stdout。由于bin /
zkServer.sh将stdout和stderr重定向到zookeeper.out,因此log4j日志最终存储在zookeeper.out中。关闭ROLLINGFILE的效果是没有创建zookeeper.log文件。

zookeeper.out日志未旋转。zookeeper.log日志设置为轮换,并且 可以 设置为使旧日志过期。

我希望日志滚动并过期。我要做的第一件事是更改conf / log4j.properties以导致旧日志的到期/删除。我通过在conf /
log4j.properties中设置log4j.appender.ROLLINGFILE.MaxBackupIndex做到了这一点。我要做的第二件事是设置日志目录,日志记录级别和附加程序。

我有一个bash脚本,每分钟运行一次。如果发现zookeeper没有运行,则运行:

bin/zkServer.sh start

我更改了它以指定bin / zkServer.sh期望的环境变量。

sudo ZOO_LOG_DIR=/opt/zookeeper-3.4.6/logs ZOO_LOG4J_PROP='INFO,ROLLINGFILE' /opt/zookeeper-3.4.6/bin/zkServer.sh start

关闭日志附加程序CONSOLE的作用是使log4j日志现在不再以zookeeper.out结尾。启用ROLLINGFILE的作用是创建,旋转了zookeeper.log文件并使其过期。

顺便说一句,conf / log4j.properties显然已经在我的类路径中。在这方面,我没有任何改变。

该链条对我的理解做出了重要贡献:https : //groups.google.com/forum/#!msg/nosql-
databases/aebIvNnT0xY/doky1X9-WfwJ



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369331.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号