Ubuntu 上 Tomcat 日志配置实操指南
一 配置文件与日志位置
二 配置访问日志 AccessLogValve
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %{Referer}i %{User-Agent}i"
resolveHosts="false"
rotatable="true"
maxDays="30"/>
三 配置运行日志级别与输出
# 全局日志级别
.level = INFO
# 控制台输出(可选)
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# 按组件设置更细粒度级别(示例)
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINE
org.apache.coyote.level = FINE
org.apache.tomcat.util.scan.StandardJarScanFilter.level = FINE
# 使用异步文件处理器提升性能(Tomcat 8+)
handlers = 1catalina.org.apache.juli.AsyncFileHandler, \
2localhost.org.apache.juli.AsyncFileHandler, \
3manager.org.apache.juli.AsyncFileHandler, \
4host-manager.org.apache.juli.AsyncFileHandler, \
java.util.logging.ConsoleHandler
1catalina.org.apache.juli.AsyncFileHandler.level = INFO
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.suffix = .log
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 30
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.suffix = .log
2localhost.org.apache.juli.AsyncFileHandler.rotatable = true
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 30
四 日志轮转与清理
/var/log/tomcat/catalina.out {
daily
rotate 7
compress
missingok
notifempty
create 0644 tomcat tomcat
postrotate
/usr/bin/kill -USR1 `cat /var/run/tomcat.pid 2>/dev/null` || true
endscript
}
五 验证与常用命令