Tomcat 日志配置与优化
日志优化主要是通过禁用一些tomcat的输出日志来达到优化的目的。
Tomcat输出日志介绍
Tomcat在运行过程中,会在logs文件夹中生成很多不同类型的日志。很多日志对于排查问题并没有什么帮助,如果不过滤掉,日积月累会占用很多磁盘空间。
下面是各种日志的介绍:
如果Tomcat以服务的方式运行还会产生以“服务名-stdout.yyyy-mm-dd.log”和“服务名-stderr.yyyy-mm-dd.log”命名的日志,用于记录标准输出日志和标准错误流日志。还有一个commons-daemon.yyyy-dd-mm.log 用于记录安装或者移除Tomcat服务过程产生的日志。
这些日志记录级别都是info级别。
禁用访问日志
打开Tomcat config/server.xml ,注释掉下面的内容即可禁用访问日志:
提升其他日志记录级别
tomcat 的日志等级有:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)。
打开Tomcat Home目录的config/logging.properties文件,
根据需要将level = FINE 和 level = INFO改成WARNING,将日志记录级别调置“WARNING”。
Tomcat 日志配置(catalina.out)
日志追踪(System.out在哪里)
编程过程中,除了System.out以外,当异常抛出或者是说异常处理的e.printstrack,也都采用的是out输出。从编程角度上看,提出尽量规范化编程,减少System.out和e.printstrack的输出,可是,当这一部分不可避免的时候,就得好好的利用它。
作为常用的web容器,tomcat对系统输出有自己的一套管理方法,根据不同管理系统,有不同的配置。
在Linux下,tomcat会为对应的实例创建一个.out文件,放在$CATALINA_HOME/logs目录下,方便后期的排错使用。然而,该文件默认不能自动分割,在没有配置的情况下,该文件会不断的增大,日久天长,或许等到需要排错的时候,该文件的大小可以以G为单位了。所以,在配置完tomcat实例之后,建议修改一下启动文件,让.out文件随着日期的变化自增。
具体的配置如下:
找到catalina.out所在处
将
"$CATALINA_BASE"/logs/catalina.out
改为
"$CATALINA_BASE"/logs/catalina."$(date+%Y-%m-%d)".out
发现此操作只能修改catalina.out的文件名,不能分片
tomcat禁用catalina.out输出
第一步:找到tomcat的安装位置
第二步:进入到tomcat的bin目录下
第三步:找到catalina.sh文件,打开
第四步:
在文件中找到以下内容。
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
输入到/dev/null黑洞,上面内容修改成下面内容。
if [ -z "$CATALINA_OUT" ] ; then
#CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
CATALINA_OUT=/dev/null
fi
网络工程师308: 谢谢大佬,和这一样的还有神卓互联
qq_35685630: 物理内存的百分比,80%物理内存
weixin_44662873: 本地加还是远程服务器加?
普通网友: 博主的技术面很广哦,而且都是干货文章,小菜鸟求带,可以加你微信随时和您交流吗,感谢
花生²: 就打开了一个表,也报这个错误。所以跟打开的表多少没关系。