Tomcat日志catalina.out过大,老生常谈的问题,这里就不再赘述了,新的地方在于使用了logback。这个在博客上面比较少,搜索出来的解决方案一般都是使用log4j或者编写脚本定时执行,让我一开始以为logback实现不了,最开始使用网上流行的解决方案,然而因为公司的保密原则和上线规范,log4j和定时任务没有权限来实现,因为在web项目中一直采用的logback,更加熟悉logback,自我感觉logback更加好用,而且logback是log4j原作者又重开的项目,应该比log4j更加优秀,按道理既然log4j能行那logback也应该能行,最后不死心看了一下logback的官网,结果得来全不费工夫,官网上面早就有方案,而且写的清清楚楚,真的是惯性思维害死人,人一定不要有惯性思维,别人没有想到的想法不代表是错的,要勇于开拓。
整体思路方案:
参考logback官网HTTP-access logs with logback-access, Jetty and Tomcat章节(http://logback.qos.ch/access.html#configuration),用logback接管Tomcat的日志,通过配置logback-access.xml对Tomcat日志进行按日轮转。
注意事项:
1.日志输出格式,轮转日期和是否压缩日志都是在logback-access.xml中配置的,可以根据实际需要修改logback-access.xml。
2.本文档中提及的所有的jar和logback-access.xml已经准备好,可以直接下载https://download.csdn.net/download/u010804317/12080197(0积分)使用。
3.特别注意,请使用tomcat所在目录的所有者进行用户登录,不要用root用户登录,再进行下述修改,或者赋予当前操作用户读写tomcat文件的权限,否则可能会造成tomcat无权限读写jar包和logback-access.xml,造成无日志输出;另外这样也可以方便后期维护,不需要额外的权限。
4. 注意本文档中的所有命令,都假定服务器上Tomcat的安装目录为/home/alex/apache-tomcat-7.0.65,请根据Tomcat具体安装情况进行修改。
具体步骤:
一、下载需要的2个jar包:logback-core-1.2.3.jar和 logback-access-1.2.3.jar(logback官网 :http://logback.qos.ch/