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)