cronolog切割tomcat的catalina.out日志

cronolog 特点
cronolog主要和Web服务器配置使用,特别是Apache服务器,Apache 默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。
安装cronolog后,可以将日志文件按时间分割,易于管理和分析。


cronolog 安装
1、下载

# cronolog-1.6.2.tar.gz

下载地址:https://fossies.org/linux/www/old/cronolog-1.6.2.tar.gz/cloc.html

 

 

 

注意:wget http://cronolog.org/download/cronolog-1.6.2.tar.gz,这个地址已经不可用

2、解压缩

# tar zxvf cronolog-1.6.2.tar.gz

 

3、进入cronolog安装文件所在目录

# cd cronolog-1.6.2

 

4、运行安装 [进入文件夹,使用./configure命令进行编译,可以加--prefix指定安装目录]

# ./configure [如:./configure --prefix=/usr/local/cronolog]

# make

# make install

 

5、查看cronolog安装后所在目录(验证安装是否成功)

# which cronolog

一般情况下显示为:/usr/local/sbin/cronolog

 

cronolog 应用【配置tomcat】
找到 tomcat 中 bin 目录下的 catalina.sh 文件
1. 查找
if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi

修改为

if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out fi

2. 查找 touch "$CATALINA_OUT"
注释掉

#touch "$CATALINA_OUT"

3. 查找 "$CATALINA_OUT" 2>&1 "&"
有两处..

org.apache.catalina.startup.Bootstrap "$@" start \

>> "$CATALINA_OUT" 2>&1 "&"

都修改为 : [第一种方式:已经进行第一个步骤]

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

 

都修改为 : [第二种方式:没有进行第一个步骤]

 

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

 

以上的“/usr/local/sbin/cronolog”配置的是cronolog的安装目录,这里要根据你的cronolog安装目录进行配置。
配置完成之后,重启tomcat就可以了。重启访问应用之后就会发现,Catalina.out不会再输出日志,日志会输入到一个catalina.日期.out的文件中。
注意:
org.apache.catalina.startup.Bootstrap “$@” start \

>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

请注意,修改后把这两行删掉,而不是注释,否则java会报Usage参数错误 并且在你查看logs目录下生成的日志会发现报错

​​​​​​/usr/local/tomcat0/bin/catalina.sh: line 396: org.apache.catalina.startup.Bootstrap: command not found

修改成:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \

| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.log >> /dev/null &

请注意,连接符\后不能留空格,否则会报错误:

“/usr/local/tomcat0/bin/catalina.sh: line 395: syntax error near unexpected token `|'

/usr/local/tomcat0/bin/catalina.sh: line 395: ` | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/all.%Y-%m-%d.log >> /dev/null &'”
————————————————
版权声明:本文为CSDN博主「琦彦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fly910905/article/details/78528652

posted @   海岛香蕉  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示