修改Zookeeper輸出日志 zookeeper.out輸出路徑【轉】


使用過zookeeper的小伙伴都知道,當前終端處於哪個目錄,執行完zkServer.sh start命令, zookeeper.out就會寫在哪個目錄,下次想看zookeeper日志的時候,又忘記上次在哪執行的命令啦,這真的很蛋疼(雖然可以每次固定在某個目錄執行),在多次痛苦之后,決定修改日志輸出到固定目錄,方便問題定位。

 

 

 

查看bin目錄下的zkEnv.sh找到了這一行,發現如果沒有配置ZOO_LOG_DIR,默認就是保存在終端所在當前目錄下,所以果斷修改(或者可以在上面配置ZOO_LOG_DIR這個變量)

ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"

 

 


將日志文件寫到zookeeper安裝目錄下的logs文件夾中(logs不需要創建,它會自己創建)

美中不足的是在你設定的目錄中, 仍會有zookeeper.out文件存在, 雖然它的size=0,究其原因是因為zkServer.sh會使用nohup進行zookeeper的啟動, 然而nohup必然會輸出一個日志文件到你設置的目錄中,

相關代碼如下, 需要將此處的邏輯修改掉, 就可以將zookeeper.out移除啦,

最后修改 bin/zkServer.sh

_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.log"

ok,完成!

既然改都改了,為什么不改的徹底一點呢?讓他按照天進行滾動

繼續修改bin目錄下的zkEnv.sh,修改為:

 

 


ZOO_LOG4J_PROP="INFO,CONSOLE"
修改為:
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"


修改conf/log4j.properties文件

 

 

 

 

 

 

其它可配置參數:

 

log4j.appender.ROLLINGFILE.File=zookeeper.log
log4j.appender.ROLLINGFILE.DataPattern='.'yyyy-MM-dd-HH-mm
log4j.appender.ROLLINGFILE.Threshold=debug
log4j.appender.ROLLINGFILE.encoding=UTF-8
log4j.appender.ROLLINGFILE.Append=false
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern= [%d{yyyy-MM-dd HH\:mm\:ss}]%-5p %c(line\:%L) %x-%m%n
DailyRollingFileAppender特點是固定周期時間生成一個日志文件,比如,默認情況是每天生成一個文件。這種日志可以方便根據時間來定位日志位置,使日志清晰易查。但是這種日志有個不好地方是,不能限制日志數量,MaxBackupIndex屬性和MaxFileSize在DailyRollingFileAppender中是無效的,這個還是按照自己的需求來定!

所以還需要自己弄個Crontab定期清理日志

 

腳本定期清理zk快照和日志文件

正常運行過程中,ZK會不斷地把快照數據和事務日志輸出到dataDir和dataLogDir這兩個目錄,並且如果沒有人為操作的話,ZK自己是不會清理這些文件的。 我這里采用腳本切割。

#!/bin/bash
#清理zookeeper的日志 保留7天內的
#

datadir=/opt/zookeeper/zkdata/version-2
logdir=/opt/zookeeper/log/version-2

cd $datadir
find . -mtime +7 |xargs rm -rf 
cd  $logdir
find . -mtime +7 |xargs rm -rf 

 

#########################################################################

注意:如果僅僅是清理快照日志數據:在zoo.cfg中配置即可

    1. autopurge.snapRetainCount=20   #保留日志快照數量

    2. autopurge.purgeInterval=48       #保留48小時內的日志數據

 

轉自
————————————————
版權聲明:本文為CSDN博主「笨鳥先飛-天道酬勤」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dehu_zhou/article/details/81939965

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM