tomcat默认安装后,会每天会自动切割日志文件,(catalina.2010-10-08.log、catalina.2010-10-09.log、catalina.2010-10-10.log)这样的形式,但是他的catalina.out不清空,任其自由增长,时间长了系统性能急剧下降。

要解决catalina.out过大问题,网上有很多种方法,如:使用日志切割工具、或者自己写定时脚本:

#!/bin/bashcd `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}

对其日志进行切割每天生成一个文件,并且删除7天前的文件。

其次,还可以对tomcat进行log4j配置,使用log4j的日志“切割”方式。配置如下:

1)下载与tomcat对应版本的tomcat-juli.jar 和 tomcat-juli-adapters.jar,或者tomcat-extras-juli-7.0.70.jar和tomcat-extras-juli-adapters-7.0.70.jar:

https://mvnrepository.com/artifact/org.apache.tomcat.extras
https://mvnrepository.com/artifact/org.apache.tomcat

2)将log4j.jar 和 tomcat-juli-adapters.jar放到$CATALINA_HOME/lib目录下;

3)将log4j.properties 放到$CATALINA_HOME/lib目录下;

4)用新下载的tomcat-juli.jar替换掉$CATALINA_HOME/bin/中的tomcat-juli.jar;(下载的tomcat-juli.jar包含了所有Commons Logging实现,能够发现log4j和配置)

5)删除$CATALINA_BASE/conf/logging.properties

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

7)重启tomcat

log4j.rootLogger = INFO, CATALINA# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File = ${catalina.base}/logs/manager
log4j.appender.MANAGER.Append = true
log4j.appender.MANAGER.Encoding = UTF-8
log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager
log4j.appender.HOST-MANAGER.Append = true
log4j.appender.HOST-MANAGER.Encoding = UTF-8
log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%nlog4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding = UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\INFO, HOST-MANAGER
参考:http://my.oschina.net/xldc/blog/298080
https://tomcat.apache.org/tomcat-7.0-doc/logging.html#Using_Log4j

tomcat7配置log4j解决catalina.out日志过大问题相关推荐

  1. Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式

    为什么80%的码农都做不了架构师?>>>    Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式,按天存放,解决catalina.out日志文件过大问题 ...

  2. log4j 打印线程号配置_日志配置log4j 打印线程号

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # Set root logger level to WARN and a ...

  3. 巧为tomcat插件配置log4j日志,解决未报错启动不成功

    前情摘要 源于Maven项目中整合SSM框架后,运行一个根据商品id查询商品信息的Demo来测试是否整合成功. 在pom文件中配置好Tomcat插件,启动tomcat,如果成功,输出信息如下: May ...

  4. Spring boot配置log4j输出日志

    1. pom.xml文件中配置parent,版本选定[1.2.5.RELEASE] 关于为什么要选这个版本:我尝试使用[1.4.1.RELEASE],但该版本库里没有[spring-boot-star ...

  5. log4j日志 linux配置,Log4j 日志详细用法

    简单的说log4j就是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地.日志信息的输出格式 Log4j 除了可以记录程序运行日志信 ...

  6. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用...

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

  7. 解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

    解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题 参考文章: (1)解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题 (2)http ...

  8. 使用代码形式配置Log4J日志框架

    2019独角兽企业重金招聘Python工程师标准>>> 一.使用代码形式配置Log4J日志框架 一般情况下,我们都是使用配置文件形式来配置Log4J日志框架,比如使用"lo ...

  9. 如何配置log4j每天产生日志,并且当天日志大于10M时自动生成另一个文件

    http://bbs.csdn.net/topics/390635339?page=1 如何配置log4j每天产生日志,并且当天日志大于10M时自动生成另一个文件 假设 11-11日 生成comlib ...

最新文章

  1. 与空连接相关的几条命令
  2. AutoMapper 入门
  3. C++中mutable、volatile关键字
  4. 初级程序员面试不靠谱指南(六)
  5. 汇编语言(三十四)之输出中文
  6. django 模板两次for循环_Django模板之基本的 for 循环 和 List内容的显示方式
  7. 简单的web框架(python)
  8. iis configuration error
  9. spark to mysql date_[Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子:
  10. python如何处理inp文件_python 之文件操作
  11. python语法总结
  12. c mysql学生管理系统_C++ 简单的学生信息管理系统
  13. ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  14. 北京课改版三年级英语教案二-Leo老师
  15. supermap idesktop 许可更新方案
  16. Android项目迁移到Androidx经验总结
  17. 阿里云大数据+AI技术沙龙上海站回顾 | ​揭秘TPC-DS 榜单第一名背后的强大引擎...
  18. vs2010MFC D3D播放YUV格式视频详细制作全过程
  19. 15.java获取当前主机ip
  20. 移动开发搭建本地商城接口

热门文章

  1. 防封链接,无投诉按钮链接,地推链接制作,活动链接制作,防封无投诉按钮链接制作方法。
  2. Adoby photoshop cs5永久序列号
  3. 百度搜索结果页面的参数 搜索框提示词搜索方式(rsv_sug2)
  4. MNE官网解读《Annotating continuous data》
  5. 操作系统简述复习笔记
  6. python名片管理系统2.0_python名片管理系统代码
  7. python实现千牛客服自动回复语_千牛自动回复话术
  8. dva介绍和官网案例
  9. c#精华网站收集(转摘自梅川酷子的博客)
  10. 三个基本的布尔逻辑算符是_布尔逻辑检索的主要运算符有哪些