欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-15 10:21:46
...

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 

用cronolog作tomcat的日志分割(tomcat7.0、tomcat8.5)
默认安装在此位置了
用cronolog作tomcat的日志分割(tomcat7.0、tomcat8.5)
一个作用于Tomcat的cronolog程序应该是这个样子的:
用cronolog作tomcat的日志分割(tomcat7.0、tomcat8.5)

Tomcat 7

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

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

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

修改catalina.sh启动Bash文件

bin/catalina.sh

第一步

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

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

第二步

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

462  # touch "$CATALINA_OUT"

第三步

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

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

第四步

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

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

启动tomcat查看结果

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

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


Tomcat8.5

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

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

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

修改catalina.sh启动脚本

第一步

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

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

第二步

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

466 #  touch "$CATALINA_OUT"

第三步

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

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

第四步

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

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

启动tomcat看结果

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

结束!