Linux下cronolog安装配置 --解决catalina.out日志过大的问题

使用cronolog对catalina.out进行日志分割

背景介绍

默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,这里我们采用cronolog来完成日志分割。

解决:通过cronolog来分割catalina.out,实现按日输出catalina日志.

cronolog安装

 ./configure
 make
 make install
  • 查看cronolog安装后所在目录(验证安装是否成功)
 which cronolog

 /usr/local/sbin/cronolog

修改tomcat bin目录下catalina.sh

  • 找到touch “$CATALINA_OUT”,注释掉这一行

  • 找到

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/catalina.%Y-%m-%d.out >> /dev/null &

注意:路径问题,在catalina.sh文件中:

CATALINA_BASE=/usr/local/tomcat8/
CATALINA_OUT=/usr/local/tomcat8/logs/catalina.out/
  • 重新启动tomcat

验证

  • 进入tomcat目录
/usr/local/tomcat8/logs/catalina/

发现:catalina.2018-01-17.out

备注:/usr/local/tomcat8/logs/catalina/这个目录可能是隐藏文件夹,ls -a

知识拓展

./configure,make,make install的作用

  • ./configure,这一步一般用来生成 Makefile(定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作),为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。

  • make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

  • make insatll,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

其他方案

用logrotate管理每日增长的日志

  • 按一定周期自动循环分割和保存日志防止无限增长,必要的时候进行压缩、删除,还可以进行邮件通知等功能。

  • 参考博客:

http://blog.csdn.net/baidu_zhongce/article/details/50393090 
http://blog.csdn.net/catoop/article/details/25105969

使用log4j切分tomcat的catalina.out输出文件

  • 参考博客
http://blog.csdn.net/u011322089/article/details/54909934
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章