一、Tomcat的日志分割三种方法

一、方法一:用cronolog分割tomcat的catalina.out文件

  Linux 日志切割工具cronolog详解:https://blog.csdn.net/chenkeqin_2012/article/details/52670887

  1、编译安装cronolog

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6..tar.gz
cd cronolog-1.6.
./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" >& &
  1.   第一处:tomcat是带“-security”参数的启动,
  2.   第二处:默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
  3.   另外还要把touch “$CATALINA_OUT"这行注释掉。
#  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
if [ $have_tty -eq ]; 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" >& & 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

  查看日志目录是否生成catalina.yymmdd.out的日志文件

  -rw-r--r-- 1 root root 10537 Jul 30 10:50 catalina.20140730.out

  配置cronolog完成了,观察每天是否有一个新的catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件。

二、方法二:使用log4j成功使catalina.out文件实现分割

  1、在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= #设定日志文件保留的序号数
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 $`
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}

最新文章

  1. 推荐两款免费的优质云服务MongoLab和RedisLabs
  2. R扩展包
  3. C#泛型文章汇总
  4. 使用Volley执行网络数据传输
  5. 自定义不等高cell—storyBoard或xib自定义不等高cell
  6. MVC项目内无法添加System.Web.Optimization
  7. php100 的下拉分页效果
  8. HDU 5695 Gym Class 拓扑排序
  9. Asp.Net中文本换行
  10. C# -abstract, override, virtual, new
  11. 每天一条linux命令——login
  12. Python学习笔记(十五):类基础
  13. 《JavaScript设计模式与开发实践》读书笔记之策略模式
  14. Mac OS X中报:java.io.UnixFileSystem.createFileExclusively(Native Method)的简单原因
  15. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动
  16. uni-app图片压缩转base64位 利用递归来实现多张图片压缩
  17. E-R视图中有关图形的用法
  18. Python全栈开发记录_第六篇(生成器和迭代器)
  19. 黑苹果 技嘉 B250M-DS3H-CF i57500 HD630 EFI引导驱动发布
  20. nfs环境搭建报错clnt_create: RPC: Program not registered

热门文章

  1. 【Zookeeper】连接ZooKeeper的方式
  2. ssh连接服务器失败解决记录
  3. Spark性能优化指南——基础篇
  4. Mysql数据按天分区,定期删除
  5. [译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络
  6. Zuul小技巧 /routes
  7. 【Postgres】空间数据库创建
  8. x264_param_default分析
  9. MySQL之SQL注入
  10. array_walk与array_map的区别