1. 核心日志類型及命名規范
(1) Catalina 日志(引擎級日志)
- 文件名:
catalina.<yyyy-MM-dd>.log
- 說明:記錄 Tomcat 啟動、關閉、嚴重錯誤等全局事件。
- 示例:
catalina.2025-09-07.log
(2) Access 日志(訪問日志)
- 文件名:
localhost_access_log.<yyyy-MM-dd>.txt
- 說明:記錄所有 HTTP 請求(需配置
<Valve>
啟用)。 - 示例:
localhost_access_log.2025-09-07.txt
如果認證采用GET傳參,可能泄露賬號密碼!
(3) 應用級日志(Host/Context 日志)
- 文件名:
localhost.<yyyy-MM-dd>.log
- 說明:記錄特定 Web 應用(如
localhost
虛擬主機)的錯誤。 - 示例:
localhost.2025-09-07.log
(4) Manager/Host-Manager 日志
- 文件名:
manager.<yyyy-MM-dd>.log
/host-manager.<yyyy-MM-dd>.log
- 說明:記錄 Tomcat 管理應用的日志。
2. 命名規則詳解
- 日期格式:固定為
<yyyy-MM-dd>
(ISO 8601 格式,區分大小寫)。 - 分隔符:點號
.
分隔名稱組件,日期前后無額外符號。 - 擴展名:
- 默認日志為
.log
(如catalina.2025-09-07.log
)。 - 訪問日志為
.txt
(如localhost_access_log.2025-09-07.txt
)。
- 默認日志為
3. 配置自定義命名
通過修改 conf/logging.properties
或 server.xml
可調整命名規則:
示例:修改 Access 日志命名
<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="access_log"suffix=".log"pattern="%h %l %u %t "%r" %s %b"fileDateFormat="yyyy-MM-dd.HH" /> <!-- 按小時分割 -->
- 效果:生成
access_log.2025-09-07.14.log
(小時級分割)。
示例:修改 Catalina 日志命名
在 logging.properties
中:
java.util.logging.FileHandler.pattern = %h/tomcat/logs/catalina-%g.log
- 效果:生成
catalina-0.log
、catalina-1.log
(按輪轉編號)。
4. 關鍵注意事項
- 大小寫敏感:Linux 系統嚴格區分
catalina.2025-09-07.log
與Catalina.2025-09-07.log
。 - 輪轉機制:默認按天分割,歷史日志會被壓縮為
.gz
(如catalina.2025-09-06.log.gz
)。 - 時區影響:日期基于系統時區,需確保服務器時區配置正確(如
Asia/Shanghai
)。
5. 驗證配置
檢查 conf/server.xml
和 conf/logging.properties
中的以下參數:
directory
:日志存儲路徑(默認logs/
)。prefix
/suffix
:文件名前綴/后綴。rotatable
:是否啟用按天分割(默認true
)。
通過以上規范,可確保日志文件名清晰、唯一,且便于自動化工具解析和歸檔。