给 Tomcat 虚拟主机配置独立访问日志非常简单,只需要在
<Host> 标签里加一个 <Valve> 就行,每个虚拟主机可以分开记日志,互不干扰。一、最简配置(直接复制可用)
xml
<Host name="www.yourdomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- 虚拟主机独立访问日志 -->
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="yourdomain_access"
suffix=".log"
pattern="common"
fileDateFormat="yyyy-MM-dd" />
</Host>
二、参数说明
directory="logs":日志存放在 Tomcat/logs 下prefix="yourdomain_access":日志文件名前缀suffix=".log":后缀名pattern="common":日志格式(标准通用格式)fileDateFormat="yyyy-MM-dd":按天切割日志
三、常用日志格式 pattern
1. 标准通用格式(简单)
plaintext
pattern="common"
记录:IP、用户、时间、请求、状态码、流量
2. 详细格式(生产常用)
plaintext
pattern="%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
包含:来源 IP、请求方式、URL、状态、流量、来源页面、浏览器 UA
四、多虚拟主机独立日志示例
xml
<Host name="www.site1.com" appBase="site1">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="site1_access"
suffix=".log"
pattern="common" />
</Host>
<Host name="www.site2.com" appBase="site2">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="site2_access"
suffix=".log"
pattern="common" />
</Host>
效果:
- logs/site1_access.2025-12-31.log
- logs/site2_access.2025-12-31.log
五、生效方式
- 改完
server.xml - 重启 Tomcat
- 访问网站,日志就会自动生成