关闭

tomcat Catalina.out文件切割

标签: tomcatlog4japacheweb服务服务器date
552人阅读 评论(0) 收藏 举报
分类:

转载自:http://hi.baidu.com/daizhongxian/blog/item/bba61b08c0d60f9a0b7b82e3.html

tomcat是个怪物,默认安装后,每天会自动切割日志文件,

catalina.2010-10-08.log

catalina.2010-10-09.log

catalina.2010-10-10.log

这样的形式,但是他的catalina.out不清空,任其自由增长,时间长了日志大的吓人,系统性能急剧下降!!!

本人试图找到tomcat的启动代码找到他日志分割的地方,但是没找到!郁闷!干脆不找了,在网上gg来一篇,实现目的就ok了。

代码如下:

#!/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}
cat /dev/null > catalina.out
rm -rf catalina.out.${d7}

tomcat的catalina.out一直增长,太大了会造成tomcat异常,需要对其日志进行切割每天生成一个文件,并且删除7天前的文件,把它放到tomcat的bin目录中,然后crontab每天执行。

原文:http://www.sbear.cn/archives/367

其他网友的方法:

使用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
############################################################################
在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar
重新启动tomcat即可。
参考:
http://tomcat.apache.org/tomcat-5.5-doc/logging.html

原文链接:http://blog.csdn.net/joliny/archive/2008/04/06/2254197.aspx

=================================

还有这样的:

随着Tomcat的运行,catalina.out文件会越来越大,虽然Tomcat每日会生成一个catalina.ymd.log的文件,但catalina.out主文件仍然不断增加,需要对catalina.out按日切分才好,在网上找了一下,看到一篇《rotating catalina.out in tomcat 5.5 using cronolog》,就用公司的Tomcat配置一下。

cronolog工具已经在服务器上装过,一个对日志切分的小工具,其主页在http://cronolog.org/,我们也用它来切分Apache的日志。

进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你直接查找catalina.out,一般我们修改下面行中的内容(因为我们一般不会在-security条件下运行),

else

$_RUNJAVA$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  \

>>$CATALINA_BASE/logs/catalina.out 2>&1 &

 

if [ ! -z "$CATALINA_PID" ]; then

echo $! > $CATALINA_PID

fi

fi

修改
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
| /usr/local/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &
同时,上面有一行
touch “$CATALINA_BASE”/logs/catalina.out
可以注释掉,完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.2009-02-18.out的日志,是按日生成的。

原文:http://i.laoer.com/rotating-catalina-out-in-tomcat-using-cronolog.html

===========================

这是补充知识:

Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。

cronolog安装配置非常简单,下载后只需要输入几个命令即可完成。

1、下载(最新版本

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2、解压缩

# tar zxvf cronolog-1.6.2.tar.gz

3、进入cronolog安装文件所在目录

# cd cronolog-1.6.2

4、运行安装

# ./configure
# make
# make install

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

# which cronolog

一般情况下显示为:/usr/local/sbin/cronolog

整个安装过程结束,下面需要把日志的格式配置一下:

1、虚拟主机配置文件 httpd-vhosts.conf

将Web日志设置 CustomLog 修改为以下格式

CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined

当然,错误日志设置 ErrorLog 也可以利用 cronolog 分割,设置为

ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"

2、如果服务器上只有一个站点(当然这种情况比较少),直接按上面所说格式修改 httpd.conf 文件日志设置部分。

说明:

  • 绿色部分 为 cronolog 安装后所在位置,系统版本不同可能位置不完全一样,以 which 命令查看到的位置为准;
  • 蓝色部分 为设置的日志文件所在位置,根据需要修改;
  • 红色部分 为设置的日志文件标识性字符,根据需要修改;
  • %Y%m%d 为日志文件分割方式,例子中为“年月日”,也可以修改成自己需要的。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:209263次
    • 积分:3124
    • 等级:
    • 排名:第11717名
    • 原创:55篇
    • 转载:369篇
    • 译文:1篇
    • 评论:22条
    文章分类
    最新评论