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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!