如何轮换zookeeper守护进程/控制台日志

问题描述

在我的 zookeeper log4j 配置中,我有控制台和滚动文件的记录器。

我使用 systemctl 运行我的动物园管理员

在zookeeper/bin/zkServer.sh中,有这一行 _ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out" 我假设这是zookeeper的控制台记录器。

有一天zookeeper.out变得太大了,为了清理它,我需要停止zookeeper,删除zookeeper.out,然后启动zookeeper。

问题:有没有办法轮换zookeeper.out?

解决方法

您需要从 log4j 属性中删除 CONSOLE 日志附加程序。 请查看this post on Cloudera

只需切换到 ROLLINGFILE

log4j.rootLogger=INFO,ROLLINGFILE
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/zookeeper.log 
log4j.appender.ROLLINGFILE.MaxFileSize=5MB
log4j.appender.ROLLINGFILE.MaxBackupIndex=10

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...