设为首页 收藏本站
查看: 1015|回复: 0

[经验分享] 使用cronolog切割tomcat日志

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-13 11:06:42 | 显示全部楼层 |阅读模式
运维是很苦逼的。这篇博客是由于上次公司生产环境出了个小问题,三个人去打开catalina.out这个日志。最后导致内存不足。查看一下三个项目的日志文件都在2个G,说大也不大。说笑不小!于是就想到要按照天切割!网上有好多方法去切割日志,有一个比较坑的方法就是shell脚本,每天是能够切割成日志。可是操蛋玩意,每天的日志都是空的!想找只狗都找不到!领导要求易上手,易配置。不写定时任务的!所以我选择了cronolog的这个工具!

一、安装cronlog
下载地址: http://download.iyunv.com/download.php?ResourceID=1851&id=3457
./configure
make && make install

默认安装位置:
which cronolog
/usr/local/sbin/cronolog
二、配置分割tomcat日志

1、要找到tomcat/bin/catalina.sh

找到一下:
org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 &
类似这样的行有2处,第一处是tomcat时带“-security”参数的启动,第二处是默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。

另外还要把touch “$CATALINA_OUT"这行注释掉。

完整的修改如下:

#  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
      -Djava.security.manager \
      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 &

  else
    "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/catalina.%Y%m%d.out >> /dev/null &
#      >> "$CATALINA_OUT" 2>&1 &

  fi

保存退出

重启Tomcat服务

补充:个人做法 找到tomcat/conf/logging.properties

编辑
#1catalina.org.apache.juli.AsyncFileHandler.level = FINE
#1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
mv logging.properties logging.properties_bak
这样重启服务日志文件夹里就存了一种切割后的日志形式
-rw-r--r-- 1 root root 37507 5月  12 13:27 catalina.20160512.out
以后会每天生成这样一个catalina.date.out的文件。。。。。

三、总结
问题1、

在修改 org.apache.catalina.startup.Bootstrap此处时,与上一行有了一个空行。就报没有找打这个命令的错误!
解决办法:当然是要去掉那个空行了啊.

问题2
在修改上个命令时,一定要确定那是一行。。。。自己意会去吧!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-216469-1-1.html 上篇帖子: centos6.6 安装jdk1.7+tomcat7部署jspxcms内容管理系统 下篇帖子: 基于IntelliJ IDEA 15.0.2的Tomcat7.0.69源码运行环境搭建 切割
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表