【原创精选】Tomcat日志切割神器——cronolog

相信大家在使用Tomcat时,应用程序运行久了,都会对logs目录下catlina.out日志过大产生反感,小则几十G,大则几百G。这对于咱们的程序员在排查日志时无疑是一个巨大的痛苦。所以,我和大家一样都希望能有一款工具,能够将日志按照日期来进行分割,方便管理、备份与排查问题。使用vim命令再也不用等待了。下面和大家分享一下关于cronolog安装与配置步骤 。


【原创精选】Tomcat日志切割神器——cronolog

来来来!让我们开始切割把!


一、安装(三种方式)

编译安装cronolog

<code>#此步骤,在国内无法访问。需要使用海外云主机进行下载.
#对于在生产环境使用的程序包,一定要去官网下载。切记。
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
#解压到指定文件夹
tar -zxvf cronolog-1.6.2.tar.gz -C /usr/local/
cd cronolog-1.6.2
./configure
make && make install /<code>

rpm包安装(推荐)

<code>#登陆如下网址 ,下载rpm包
https://centos.pkgs.org/7/epel-x86_64/cronolog-1.6.2-14.el7.x86_64.rpm.html
wget \thttps://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/c/cronolog-1.6.2-14.el7.x86_64.rpm
rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm/<code>


【原创精选】Tomcat日志切割神器——cronolog

可信网站

yum安装

<code>##腾讯云服务器上直接 yum命令安装,其他云服务器厂商没有尝试
yum -y install cronolog/<code>
【原创精选】Tomcat日志切割神器——cronolog

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

<code>which cronolog
#一般情况下显示为:

/usr/local/sbin/cronolog /<code>

三、编辑tomcat目录bin下的catalina.sh文件 (大概在410行左右)

  • 第一处:把touch “$CATALINA_OUT"这行注释掉。
  • 第二处:tomcat是带“-security”参数的启动,默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
  • 注意:日志名字可以自由定义,比如我们有两台服务器结点,我会以node1和node2为前缀来命名,这样在以后的日志查找中更为便捷易读。
<code>#  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/node1-catalina.%Y%m%d.out >> /dev/null &
# >> "$CATALINA_OUT" 2>&1 &


fi/<code>

四、重启tomcat

查看日志目录是否生成catalina.yymmdd.out的日志文件
  -rw-r--r-- 1 root root 10537 Jul 30 10:50 catalina.20140730.out
配置cronolog完成了,观察每天是否有一个新的node1-catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件即可。


分享到:


相關文章: