tomcat日志
-
tomcat 日志配置文件
-
位置: tomcat目录下的/conf/logging.properties
-
日志输出级别: SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
输出的日志不会输出比当前日志输出级别低的日志
-
日志类型: catalina、localhost、manager、admin、host-manager
-
logging.properties
# 可配置项(5类日志):catalina、localhost、manager、admin、host-manager
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#日志输出为输出到文件和输出到控制台
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#配置文件使catalina日志输出级别为FINE
1catalina.org.apache.juli.FileHandler.level = FINE
#catalina文件输出位置
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#catalina日志前缀为catalina
1catalina.org.apache.juli.FileHandler.prefix = catalina.
#配置文件使localhost日志输出级别为FINE
2localhost.org.apache.juli.FileHandler.level = FINE
#localhost文件输出位置
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#localhost日志前缀为localhost
2localhost.org.apache.juli.FileHandler.prefix = localhost.
#配置文件使manager日志输出级别为FINE
3manager.org.apache.juli.FileHandler.level = FINE
#manager文件输出位置
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#manager日志前缀为manager
3manager.org.apache.juli.FileHandler.prefix = manager.
#配置文件使host-manager日志输出级别为FINE
4host-manager.org.apache.juli.FileHandler.level = FINE
#host-manager文件输出位置
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#host-manager日志前缀为host-manager
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
#配置文件使控制台日志输出级别为FINE
java.util.logging.ConsoleHandler.level = FINE
#控制台日志输出格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
#localhost日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
#localhost日志文件输出处理类2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
#manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
#manager日志文件输出处理类3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
#host-manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
#host-manager日志文件输出处理类4host-manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
日志类型详解
- catalina.out
- catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割。注意:catalina.out文件如果过大会影响
- catalina.YYYY-MM-DD.log
- catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志。注意:它和catalina.out是里面的内容是不一样的。
- localhost.YYYY-MM-DD.log
- localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.{yyyy-MM-dd}.log 日志全。它只是记录了部分日志。
- localhost_access_log.YYYY-MM-DD.txt
- localhost_access_log.{yyyy-MM-dd}.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。
- host-manager.YYYY-MM-DD.log
- host-manager.{yyyy-MM-dd}.log:存放tomcat的自带的manager项目的日志信息的,没有重要的日志信息
- manager.YYYY-MM-DD.log
- manager.{yyyy-MM-dd}.log :这个是tomcat manager项目专有的日志文件.
catalina.out 切割
通过插件实现切割
-
下载cronolog
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
-
解压
tar xvf cronolog-1.6.2.tar.gz ./configure make make install
-
查看状态
which cronolog 显示结果:/usr/local/sbin/cronolog
-
修改tomcat启动脚本
vim tomcat/bin/catalina.sh
-
修改生成catalina文件格式
if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out fi 改为: if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.$(date +%Y-%m-%d).out fi
-
删除生成日志
touch "$CATALINA_OUT" 改为: # touch "$CATALINA_OUT"
-
修改启动脚本参数
org.apache.catalina.startup.Bootstrap "$@" start >> "$CATALINA_OUT" 2>&1 "&" 改为: org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
-
-
重启tomcat