切割TOMCAT日志

tomcat的catalina.out日志如果不做操作的话,日志就会日积月累的不断增加。我刚入职的时候发现某台服务器的硬盘报警,排查之后我慌了,一个tomcat的日志居然有100G,这怎么可以,在网上找各种各样的解决方案,找到了使用log4j来切割日志的方法,次方法较简便,不用写脚本,也不用放入到crontab中,废话不多说,直接上菜了。

1. 准备jar包

  1. <div>log4j-1.2.17.jar</div>
  2. <div>tomcat-juli.jar</div>
  3. <div>tomcat-juli-adapters.jar</div><div>##</div>

复制代码

这三个jar包适用于tomcat8.0.x系列。

2. 将上面的三个jar包拷贝到 Tomcat 的 lib 目录下;

  1. [[email protected] lib]# pwd
  2. /alidata1/eppapi/apache-tomcat-cnnic/lib
  3. [[email protected] lib]# ll log4j-1.2.8.jar tomcat-juli-adapters.jar  tomcat-juli.jar
  4. -rw-r--r-- 1 eppapi eppapi 352668 Jun  4  2015 log4j-1.2.8.jar
  5. -rw-r----- 1 eppapi eppapi  32520 Jun  4  2015 tomcat-juli-adapters.jar
  6. -rw-r--r-- 1 root root 78645 4月  21 09:42 tomcat-juli.jar

复制代码

3. 将 tomcat-juli.jar 拷贝到Tomcat 的 bin 目录下,替换原有的jar包;

  1. <p style="text-indent: 1em;">[[email protected]]# ll tomcat-juli.jar </p><p style="text-indent: 1em;">-rw-r--r-- 1eppapi eppapi 78645 Jun  4  2015 tomcat-juli.jar</p>

复制代码

4. 修改 Tomcat 的conf/context.xml 文件,将<Context>为<Context swallowOutput="true">

  1. <p style="text-indent: 1em;">[[email protected]]# vim apache-tomcat-cnnic/conf/context.xml</p><p style="text-indent: 1em;"><span style="line-height: 1.5;">修改配置文件中19行的配置,如下图所示:</span></p><img width="441" _height="41" src="file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png" border="0" >
  2. <p style="text-indent: 1em;">增加 swallowOutput="true" 的属性配置,只有这样才能完全的把tomcat的stdout给接管过来。这一步很关键在官网及网上找了许多资料都没有提及。</p>

复制代码

5. 删除 Tomcat 的conf/logging.properties 文件(或者重命名-建议);

  1. <p style="text-indent: 1em;">[[email protected]]# ll logging.properties </p><p style="text-indent: 1em;">-rw------- 1root root 3387 1月 10 2015 logging.properties</p><p style="text-indent: 1em;">[[email protected]]# rm -fr logging.properties</p><p style="text-indent: 1em;"><span style="text-indent: 1em; line-height: 1.5;">[[email protected]]# ll logging.properties</span></p><p style="text-indent: 1em;"><span style="line-height: 1.5;">ls: 无法访问logging.properties: 没有那个文件或目录</span></p>提示:建议剪切到其他目录中。

复制代码

6. 在 Tomcat 的 lib 目录下创建 log4j.properties 文件:

  1. <p style="text-indent: 1em;">[[email protected]]# ll log4j.properties</p><p style="text-indent: 1em;">-rw-r--r-- 1root root 2343 6月  4 2015 log4j.properties</p><p style="text-indent: 1em;">[[email protected]]# vim log4j.properties</p>######添加如下配置信息:######### (此条不要复制)
  2. <p style="text-indent: 1em;">log4j.rootLogger= INFO, CATALINA</p>
  3. <p style="text-indent: 1em;"># Define allthe appenders</p><p style="text-indent: 1em;">log4j.appender.CATALINA= org.apache.log4j.DailyRollingFileAppender</p><p style="text-indent: 1em;">log4j.appender.CATALINA.File= ${catalina.base}/logs/catalina</p><p style="text-indent: 1em;">log4j.appender.CATALINA.Append= true</p><p style="text-indent: 1em;">log4j.appender.CATALINA.Encoding= UTF-8</p><p style="text-indent: 1em;"># Roll-overthe log once per day</p><p style="text-indent: 1em;">log4j.appender.CATALINA.DatePattern= ‘.‘yyyy-MM-dd‘.log‘</p><p style="text-indent: 1em;">log4j.appender.CATALINA.layout= org.apache.log4j.PatternLayout</p><p style="text-indent: 1em;">log4j.appender.CATALINA.layout.ConversionPattern= %d [%t] %-5p %c- %m%n</p>
  4. <p style="text-indent: 1em;">log4j.appender.LOCALHOST= org.apache.log4j.DailyRollingFileAppender</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.File= ${catalina.base}/logs/localhost</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.Append= true</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.Encoding= UTF-8</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.DatePattern= ‘.‘yyyy-MM-dd‘.log‘</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.layout= org.apache.log4j.PatternLayout</p><p style="text-indent: 1em;">log4j.appender.LOCALHOST.layout.ConversionPattern= %d [%t] %-5p %c- %m%n</p>
  5. <p style="text-indent: 1em;">log4j.appender.MANAGER= org.apache.log4j.DailyRollingFileAppender</p><p style="text-indent: 1em;">log4j.appender.MANAGER.File= ${catalina.base}/logs/manager</p><p style="text-indent: 1em;">log4j.appender.MANAGER.Append= true</p><p style="text-indent: 1em;">log4j.appender.MANAGER.Encoding= UTF-8</p><p style="text-indent: 1em;">log4j.appender.MANAGER.DatePattern= ‘.‘yyyy-MM-dd‘.log‘</p><p style="text-indent: 1em;">log4j.appender.MANAGER.layout= org.apache.log4j.PatternLayout</p><p style="text-indent: 1em;">log4j.appender.MANAGER.layout.ConversionPattern= %d [%t] %-5p %c- %m%n</p>
  6. <p style="text-indent: 1em;">log4j.appender.HOST-MANAGER= org.apache.log4j.DailyRollingFileAppender</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.File= ${catalina.base}/logs/host-manager</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.Append= true</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.Encoding= UTF-8</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.DatePattern= ‘.‘yyyy-MM-dd‘.log‘</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.layout= org.apache.log4j.PatternLayout</p><p style="text-indent: 1em;">log4j.appender.HOST-MANAGER.layout.ConversionPattern= %d [%t] %-5p %c- %m%n</p>
  7. <p style="text-indent: 1em;">log4j.appender.CONSOLE= org.apache.log4j.ConsoleAppender</p><p style="text-indent: 1em;">log4j.appender.CONSOLE.Encoding= UTF-8</p><p style="text-indent: 1em;">log4j.appender.CONSOLE.layout= org.apache.log4j.PatternLayout</p><p style="text-indent: 1em;">log4j.appender.CONSOLE.layout.ConversionPattern= %d [%t] %-5p %c- %m%n</p>
  8. <p style="text-indent: 1em;"># Configurewhich loggers log to which appenders</p><p style="text-indent: 1em;">log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]= INFO, LOCALHOST</p><p style="text-indent: 1em;">log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\</p>  INFO, MANAGER
  9. <p style="text-indent: 1em;">log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\</p>  INFO, HOST-MANAGER

复制代码

7.此时重启服务即生效,配置完成。

来自为知笔记(Wiz)

时间: 2024-11-05 14:36:45

切割TOMCAT日志的相关文章

cronolog切割tomcat日志以及日志导出方法

针对现有机器tomcat日志随着时间的延长,积累的日志达到几个G甚至更多(一台机器的全部的日志全部集中在一起),想导出某时间段的日志,通过导出脚本发现速度非常慢,而且服务器的压力会很大. 解决办法:通过日志切割工具cronolog将日志按照以天为单位输出,保存成不同的文件.这样导出日志的时候只要指定日期,导出将会很快. 步骤: 1.cronolog的安装(安装方法很简单) #tar -zxvf cronolog-1.6.2.tar.gz #cd cronolog-1.6.2 #./configu

shell脚本切割tomcat日志文件

转自:http://www.cnblogs.com/lishun1005/p/6054816.html 鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路

Ubuntu 环境下使用cronolog 切割Tomcat日志

1 .安装cronolog wget http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz ./configure make && sudo make install 默认安装位置: # which cronolog /usr/local/sbin/cronolog 2.配置分割Tomcat日志 编辑tomcat目录bin下的catalina.sh文件 # vi bin/catalina.sh 找到下面这行 org.apach

使用logrotate切割tomcat日志文件

最近由于tomcat 的catalina.out日志太大,需要做切割 使用logrotate切割方法如下: 1.添加工程配置文件 cd /etc/logrotate.d 添加 Inceptor文件 /usr/local/tomcat7.inceptor-web_8080/logs/catalina.out { #rotate 31         daily         copytruncate         compress         notifempty         miss

shell方式切割tomcat日志

#!/bin/bash while true do cd /usr/local/tomcat/logs d=`date +%Y%m%d` d15=`date -d'15 day ago' +%Y%m%d` cp catalina.out /opt/logs/catalina.out.${d} echo "" > catalina.out rm -rf catalina.out.${d15} sleep 86400 done 每天切割一次,并删除15天之前的日志: 放到后台执行:y

Linux系统用logrotate切割Tomcat日志的方法

tomcat在使用中会遇到catalina.out日志过大的情况,下面我们利用系统(以centos为例)自带的logrotate来切割文件,实现日志文件的每天自动切割. logrotate程序默认程序会切割/etc/logrotate.d/下面定义的文件,以下方法请使用root用户操作,不然会提示权限不足. 创建文件: #vi /etc/logrotate.d/tomcat 填入以下信息(catalina.out实际路径以实际情况填写): /usr/local/tomee/logs/catali

Linux下 切割tomcat日志 定期删除

每天晚上11点50切割日志文件,同时删除超过30天的日志 # vi log.sh <pre name="code" class="html">#!/bin/bash log_path=/doiido/apps/tomcat/logs d=`date +%Y-%m-%d` d90=`date -d'30 day ago' +%Y-%m-%d` cd ${log_path} && cp catalina.out $log_path/cron/

Linux下用cronolog切割Tomcat日志并删除指定天数前的日志记录

使用cronolog工具切分Tomcat的catalina.out日志文件 普通用户下载.安装cronolog [[email protected] ~]$ tar -xf cronolog-1.6.2.tar.gz [[email protected] ~]$ cd cronolog-1.6.2/ [[email protected] cronolog-1.6.2]$  ./configure --prefix=/home/tomcat/cronolog make make install r

Linux下定时切割Tomcat日志并删除指定天数前的日志记录

ystem.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [[email protected] conf]# pwd /usr/local/tomcat/conf [[email protected] conf]# cp loggi