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)

 

posted on 2022-01-24 15:08  周文豪  阅读(1534)  评论(0编辑  收藏  举报