用cronolog作tomcat的日志分割(tomcat7.0、tomcat8.5)

本文详细介绍如何使用cronolog在Tomcat7和Tomcat8.5中实现日志的自动分割,通过修改catalina.sh启动脚本,使得每次启动Tomcat时自动运行cronolog,按日期组织日志文件。

cronolog - 将日志消息写入根据模板定义的日志文件处理程序

cronolog[选项]…模板

描述

cronolog是一个简单的程序,它从输入中读取日志消息并将其写入一组输出文件,这些文件的名称是使用模板和当前日期和时间构造的。模板使用与Unix date(1)命令相同的格式说明符(与标准的C strftime库函数相同)。

之前写一个消息cronolog检查时间是否当前日志文件仍然是有效的,如果不是它关闭当前文件,扩展模板使用当前日期和时间来生成一个新的文件名,打开新文件(创建新的日志文件的路径上没有的目录根据需要,除非程序编译-DDONT_CRE ATE_SUBDIRS应承担)和计算时间的新文件将成为无效。

cronolog用于与Web服务器(如Apache)结合使用,以便将访问日志划分为每日或每月的日志。例如,Apache配置参数:

TransferLog “|/usr/sbin/cronolog /www/logs/%Y/%m/%d/access.log”
ErrorLog “|/usr/sbin/cronolog /www/logs/%Y/%m/%d/errors.log”

会指示Apache将其访问和错误日志消息管道到cronolog的单独副本中,这将在按日期组织的目录层次结构中每天创建新的日志文件,即在1996年12月31日将消息写入

/ www /日志/ 1996/12/31 / access.log

/ www /日志/ 1996/12/31 / errors.log

午夜之后的文件

/ www /日志/ 1997/01/01 / access.log

/ www /日志/ 1997/01/01 / errors.log

将使用,如果目录1997、1997/01和1997/01/01还不存在,则创建它们。(注意,在版本1.2之前,Apache不允许将程序指定为ErrorLog指令的参数。)

cronolog

检查机器上有没有cronolog

whereis cronolog

如果机器上没有cronolog则需要安装一下

yum install cronolog 

在这里插入图片描述
默认安装在此位置了
在这里插入图片描述
一个作用于Tomcat的cronolog程序应该是这个样子的:
在这里插入图片描述

Tomcat 7

在我们配置好catalina.sh之后不需要手动去启动cronolog程序,他会在我们启动tomcat的时候自动带起来。

以下的流程截图是准备要修改的配置,下面紧跟的代码块是要改成的样子。

为了让大家更快的找到配置项的位置我把源配置项的行号和目标配置的行号都放上来了,因为版本的不同配置项所在行号不一定一样,不过肯定不会差很多,注意大家记得不要把行号也放到配置里就行。

修改catalina.sh启动Bash文件

bin/catalina.sh

第一步

在这里插入图片描述

221   CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out

第二步

在这里插入图片描述

462  # touch "$CATALINA_OUT"

第三步

在这里插入图片描述

476     org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
477 | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

第四步

在这里插入图片描述

486       org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
487 | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

启动tomcat查看结果

在这里插入图片描述

在这里插入图片描述


Tomcat8.5

在我们配置好catalina.sh之后不需要手动去启动cronolog程序,他会在我们启动tomcat的时候自动带起来。

以下的流程截图是准备要修改的配置,下面紧跟的代码块是要改成的样子。

为了让大家更快的找到配置项的位置我把源配置项的行号和目标配置的行号都放上来了,因为版本的不同配置项所在行号不一定一样,不过肯定不会差很多,注意大家记得不要把行号也放到配置里就行。

修改catalina.sh启动脚本

第一步

在这里插入图片描述

221   CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out

第二步

在这里插入图片描述

466 #  touch "$CATALINA_OUT"

第三步

在这里插入图片描述

480     org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
481 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

第四步

在这里插入图片描述

490        org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
491 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

启动tomcat看结果

在这里插入图片描述

结束!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值