tomcat 日志拆分
一、用cronolog分割tomcat的catalina.out文件
1、编译安装cronolog
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
2、查看cronolog安装后所在目录(验证安装是否成功)
which cronolog
一般情况下显示为:/usr/local/sbin/cronolog
3、编辑tomcat目录bin下的catalina.sh文件
找到下面这行,类似这样的行有2处:
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
第一处: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
4、重启tomcat
二、使用log4j成功使catalina.out文件实现分割
在tomcat根目录下建立common/classes/log4j.properties,内容如下
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.newlog #设定日志文件名
log4j.appender.R.MaxFileSize=100KB #设定文件到100kb即分割
log4j.appender.R.MaxBackupIndex=10 #设定日志文件保留的序号数
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
2、在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar
3、重新启动tomcat即可。
三、编写一个.sh文件,并放到tomcat下的bin目录,在cron中自动执行,shell脚本如下:
#!/bin/bash
cd `dirname $0`
d=`date +%Y%m%d`
d7=`date -d'7 day ago' +%Y%m%d`
cd ../logs/
cp catalina.out catalina.out.${d}
echo "" > catalina.out
rm -rf catalina.out.${d7}
四、在/etc/logrotate.d下新建文件。tomcat
编辑该文件,写入脚本。 vim /etc/logrotate.d/tomcat
/opt/tomcat/logs/catalina.out { # catalina.out日志路径
copytruncate # 复制清空
rotate 15 # 保留15份日志
nocompress # 不压缩日志
missingok # 日志不存在时不报错
size 100k # 超过100k就复制
}
说明:该脚本会随着cron.daily(系统自带定时器)每天执行一次,如果此时catalina.out文件大小超过100k, 就会复制一份catalina.out-yyyyMMdd出来,然后清空catalina.out文件
已验证,当size比较小时,与按日期拆分效果一致
转载于:https://www.cnblogs.com/cowshed/p/11397681.html
tomcat 日志拆分相关推荐
- java tomcat 日志分析工具_tomcat日志集中采集、分析与展示的几种方法
大家在做分布式web系统的时候,比如那么多个tomcat,每天都会产生很多的日志(虽然已经按小时进行日志拆分了,但日志内容还是很大,vim查日志的时候很慢),而且那么多个tomcat,每个tomcat ...
- 6月27日任务 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 1. vim /usr/local/tomcat/conf/server.xml Co ...
- 配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志
配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol=&quo ...
- linux日志按照时间切割,Linux下把tomcat日志按日期自动分割
Linux中tomcat日志分割需要用到cronolog 附上cronolog-1.6.2.tar.gz 1. 安装cronolog tar –zxvf cronolog-1.6.2.tar.gz . ...
- 设置tomcat服务为80端口,tomcat虚拟主机,tomcat日志
配置tomcat监听端口为80 vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol=" ...
- 16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志
2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 直接访问,使用默认的web服务,需要改动端口为80,如果不是80端口那么访问页面的时候 ...
- 配置Tomcat监听80端口配置Tomcat虚拟主机Tomcat日志
2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 Tomcat默认监听8080.8005以及8009端口,日常进行浏览器访问时,需要输入 ...
- tomcat日志切割-logrotate
Tomcat日志切割(logrotate) logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储.邮件和压缩等,并且默认logrotate加到cron(/etc/cro ...
- 使用logrotate分割tomcat日志
#使用logrotate分割tomcat日志 #添加tomcat文件在logrotate.d目录下: [root@localhost logrotate.d]# cat /etc/logrotate. ...
- 解决 IntelliJ IDEA 内置的 Tomcat 日志中显示的中文乱码
解决 IntelliJ IDEA 内置的 Tomcat 日志中显示的中文乱码 方法 1 方法 2(不推荐) 笔者的环境: JDK 13.0.2 Maven 3.6.3 Tomcat 9.0.41(Se ...
最新文章
- seq2seq(1)- EncoderDecoder架构
- 02 小程序入门实战
- java android下载文件_Android 下载文件(jsp做的服务器上)下载下来和源文件大小不一...
- 非计算机专业学习计算机
- backtrader指标
- ElasticSearch里面关于日期的存储方式,解决差8个小时
- mysql8.0.20 64位安装教程_MySQL8.0.20压缩版本安装教程图文详解
- drupal 迁移_关于如何迁移到Drupal的4个技巧
- 64匹马,8个赛道,通过比赛,决出前四名。
- INT 21H 指令说明及使用方法
- 关于清除丢失贴图与IES文件
- donet使用linq
- 汇编/源操作数/目的操作数
- 使用 C++ 开发出 【飞机大战】
- 微信分享到朋友圈的链接没有图片。开发工具中正常没有报错-解决方案
- 中国音乐史记•黄家驹列传
- 2022年618机顶盒哪款好?当贝盒子功能最全性价比更优
- apache的HttpClient的默认重试机制
- iPhone上Siri无法正常回应如何解决?
- autocad不能画图_说说基本的画图软件—AutoCAD(一)