welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ群:162333776 邮箱:admin@xlongwei.com

logrotate 配置tomcat日志


分类 Java   关键字 分享   标签 java   linux   tomcat   发布 hongwei  1480569186638
注意 转载须保留原文链接,译文链接,作者译者等信息。  
tomcat的日志文件catalina.out通常会变得越来越大,可以使用logrotate按日归档功能,同时需要去掉logging.properties里面配置的FileHandler,还可考虑启用server.xml里面配置的local_access_log访问日志。

tomcat/conf/logging.properties
#原来的内容注释掉,ConsoleHandler会输出到catalina.out
#FileHandler是直接输出到catalina.2016-12-01.log,内容比ConsoleHandler少很多
#默认tomcat会输出localhost、manager、host-manager等日志,都没什么用;反而是server.xml里面的localhost_access_log有点用
handlers = java.util.logging.ConsoleHandler
.handlers = java.util.logging.ConsoleHandler

tomcat/conf/server.xml,启用访问日志,如果nginx已经记录了访问日志这里就可以不启用。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

/etc/logrotate.d/tomcat,配置按日归档,避免catalina.out越来越大
# vi /etc/logrotate.d/tomcat
/soft/tomcat/logs/catalina.out {
daily
dateext
missingok
rotate 60 #保留日志天数
copytruncate #复制后截断
nocompress #compress,日志太大时可以考虑压缩,文本的压缩比还是挺大的
nodelaycompress
notifempty
create 640 nobody nobody
}

logrotate问题排查
# logrotate -d /etc/logrotate.d/tomcat   #演练logrotate,出现log does not need rotating表示不需要归档
# logrotate -vf /etc/logrotate.d/tomcat #强制执行归档
# less /var/lib/logrotate.status #logrotate日志