apache日志切割工具cronolog安裝配置
本文簡單介紹在使用cronolog對tomcat的日志進行自定義日期格式的切割,方便日志的整理和遇到問題日志的排查!
一、安裝cronolog
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
解壓並進入:
tar -xvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2/
編譯安裝
./configure
make
make install
驗證cronolog
[root@VM-0-10-centos sbin]# which cronolog /usr/local/sbin/cronolog
如果在安裝時沒有指定安裝目錄,則顯示/usr/local/sbin/cronolog;表示成功;如果指定安裝目錄,則在安裝目錄下查看是否有sbin等目錄生成,如果有目錄生成,則表示安裝成功;
二、配置tomcat的Catalina.sh
1、注釋掉touch "$CATALINA_OUT"
vim catalina.sh
查找touch字命令
/要查找的內容 自光標起始位置向下查找
?要查找的內容 自光標起始位置向上查找
在前面加#號注釋

2、修改tomcat bin目錄下的catalina.sh文件中的兩處
注意修改為自己的cronolog安裝路徑
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&"
修改為
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &
如下所示:

完成之后重起Tomcat就可以看到logs文件中存在對應格式的日志文件了!(catalina.out.2022-01-24.log)
三、cronolog 的語法介紹
1、cronolog使用方式
CRONOLOG一般是采取管道的方式來工作的,采用如下的形式:
loggenerator | cronolog log_file_pattern
其中,loggenerator為產生log的程序,而log_file_pattern是日志文件的路徑,可以在其中加入CRONOLOG所支持的時間 相關的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern為%字符后跟一特殊字符;
CRONOLOG支持的特殊字符說明
轉義符:
% %字符
n 換行
t 水平制表符
時間域:
H 小時(00..23) I 小時(01..12) p 該locale下的AM或PM標識 M 分鍾(00..59) S 秒 (00..61, which allows for leap seconds) X 該locale下時間表示符(e.g.: _"15:12:47 "_) Z 時區。若時區不能確定,則無意義
日期域:
a 該locale下的工作日簡名(e.g.: Sun..Sat) A 該locale下的工作日全名(e.g.: Sunday .. Satur-ay) b 該locale下的月份簡稱(e.g.: Jan .. Dec) B 該locale下的月份全稱(e.g.: January .. December) c 該locale下的日期和時間(e.g.: "Sun Dec 15 14:12:47 GMT 1996") d 當月中的天數 (01 .. 31) j 當年中的天數 (001 .. 366) m 月數 (01 .. 12) U 當年中的星期數,以周日作為一周開始,其中第一周為首個含星期天的星期(00..53) W 當年中的星期數,以星期一作為一周的開始,其中第一周為首個含星期天的星期(00..53) w 工作日數(0 .. 6, 0表示星期天) x 該locale下的日期表示(e.g. "13/04/97") y 兩位數的年份(00 .. 99) Y 四位數的年份(1970 .. 2038)
