在linux下实现tomcat日志分隔,平常里使用tomcat作为项目发布的主要服务器,排错的时候需要去查看catalina.out文件,服务长期运行,此文件并不会自动分隔,达到几百M,甚至几个G的大小。需要排错查看的时候,根本打不开,为了解决这个问题,找到一款工具-cronolog。在此记录,备忘查看。
centos7
tomcat9
yum install cronolog
使用阿里云服务器可以使用yum install cronolog进行安装,自己的服务器下载不到对应的安装包。不过可以找到源文件进行编译安装
①下载源文件
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
②解压
tar -zxvf cronolog-1.6.2.tar.gz
③切换目录
cd cronolog-1.6.2
④运行安装
./configure
make
make install
⑤查看安装目录
which cronolog
/usr/local/sbin/cronolog
/bin/catalina.sh
229行定义输出文件的名称,修改为带有日期格式的
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi
472行
if [ -z "$CATALINA_OUT_CMD" ] ; then
touch "$CATALINA_OUT"
if [ -z "$CATALINA_OUT_CMD" ] ; then
:
498-499行,/usr/local/sbin/cronolog 为cronolog安装目录
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 &
508-509行,/usr/local/sbin/cronolog 为cronolog安装目录
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 &
查看相关进程,启动tomcat的同时/usr/local/sbin/cronolog也跟着启动,说明我们配置成功了。
/bin/sh /usr/local/apache-tomcat-9.0.40/bin/catalina.sh start
/usr/local/sbin/cronolog /usr/local/apache-tomcat-9.0.40/logs/catalina.out.%Y-%m-%d
/usr/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.40/conf/logging.properties -Djava.util.logging.manager......
小尾巴~~
只要有积累,就会有进步