一、核心:控制日志文件名的 3 个属性
在
<Valve> 里配置这 3 个参数,就能自定义文件名:xml
prefix="文件名前缀"
suffix="文件名后缀"
fileDateFormat="日期格式"
最终生成的文件名规则:
plaintext
prefix + 文件日期 + suffix
二、最常用文件名格式(推荐)
1. 按天切割(生产最常用)
xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="site1_access" <!-- 前缀 -->
suffix=".log" <!-- 后缀 -->
fileDateFormat="yyyy-MM-dd" <!-- 日期格式 -->
pattern="common" />
生成的日志文件名:
plaintext
site1_access.2026-03-30.log
2. 按年月命名
xml
prefix="site1_access"
suffix=".log"
fileDateFormat="yyyyMM"
文件名:
plaintext
site1_access.202603.log
3. 不加日期(单文件,不推荐)
xml
prefix="site1_access"
suffix=".log"
fileDateFormat="" <!-- 留空 = 不追加日期 -->
文件名:
plaintext
site1_access.log
三、自定义文件名示例
示例 1:域名 + 日期
xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="www_test_com_access"
suffix=".log"
fileDateFormat="yyyy-MM-dd"
pattern="common" />
文件名:
plaintext
www_test_com_access.2026-03-30.log
示例 2:带小时(调试用)
xml
fileDateFormat="yyyy-MM-dd.HH"
文件名:
plaintext
site1_access.2026-03-30.14.log
四、完整虚拟主机 + 日志配置
xml
<Host name="www.test.com" appBase="testweb" autoDeploy="true">
<!-- 独立访问日志(自定义文件名) -->
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="www_test_com"
suffix="_access.log"
fileDateFormat="yyyy-MM-dd"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
最终文件名:
plaintext
www_test_com.2026-03-30_access.log
五、关键规则
- prefix = 文件名开头(随便写)
- suffix = 文件名结尾(一般用
.log) - fileDateFormat = 中间的日期格式
- 配置完 必须重启 Tomcat
总结
- 文件名 =
前缀 + 日期 + 后缀 - 按天日志用:
yyyy-MM-dd - 每个虚拟主机配不同
prefix,日志自动分开