温馨提示×

debian如何设置tomcat日志

小樊
45
2026-08-12 03:01:01
栏目: 智能运维

在 Debian 上设置 Tomcat 日志,主要涉及 日志级别、日志路径、日志格式、日志轮转 等。下面按常见场景给你一个完整说明(以 Tomcat 9 / 10 为例,Debian 11/12 通用)。


一、Tomcat 日志类型说明

Tomcat 主要有以下几类日志:

日志类型 说明
catalina.out 标准输出(stdout / stderr),最常用
catalina.yyyy-mm-dd.log 启动、关闭日志
localhost.*.log 应用级异常
manager.*.log manager 应用
host-manager.*.log host-manager 应用
access log 访问日志(类似 nginx access.log)

二、日志配置文件位置

/etc/tomcat9/
/usr/share/tomcat9/
/var/log/tomcat9/

关键配置文件:

/etc/tomcat9/logging.properties

三、修改 Tomcat 日志级别(推荐)

1️⃣ 编辑 logging.properties

sudo nano /etc/tomcat9/logging.properties

2️⃣ 常见日志级别

级别 说明
SEVERE 严重错误
WARNING 警告
INFO 一般信息(默认)
FINE 调试
FINER 更详细
FINEST 最详细

示例:只显示 WARNING 及以上

.level = WARNING
org.apache.catalina.level = WARNING
org.apache.jasper.level = WARNING

示例:开启调试(排查问题)

org.apache.catalina.level = FINE

修改后重启:

sudo systemctl restart tomcat9

四、设置 Tomcat 访问日志(AccessLog)

1️⃣ 编辑 server.xml

sudo nano /etc/tomcat9/server.xml

2️⃣ 在 <Host> 中添加 / 修改 AccessLogValve

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log"
       suffix=".txt"
       pattern="%h %l %u %t "%r" %s %b %D" />

参数说明:

参数 说明
directory 日志目录
prefix 文件名前缀
suffix 后缀
pattern 日志格式
%D 请求耗时(毫秒,非常有用)

日志位置:

/var/log/tomcat9/localhost_access_log.2026-01-21.txt

五、设置 catalina.out 日志轮转(非常重要)

Debian 默认 catalina.out 不会自动切割,容易撑满磁盘。

方法一:使用 logrotate(推荐 ✅)

sudo nano /etc/logrotate.d/tomcat9

示例配置:

/var/log/tomcat9/catalina.out {
    daily
    rotate 7
    missingok
    notifempty
    compress
    copytruncate
    su tomcat tomcat
}

测试:

sudo logrotate -d /etc/logrotate.d/tomcat9

六、修改 Tomcat 日志目录(可选)

1️⃣ 创建新目录

sudo mkdir -p /data/tomcat/logs
sudo chown -R tomcat:tomcat /data/tomcat

2️⃣ 修改 systemd 配置

sudo systemctl edit tomcat9

添加:

[Service]
LogsDirectory=/data/tomcat/logs

或直接修改:

sudo nano /lib/systemd/system/tomcat9.service

然后:

sudo systemctl daemon-reload
sudo systemctl restart tomcat9

七、常见排错

1️⃣ 日志不生成?

ls -ld /var/log/tomcat9

确保权限:

sudo chown -R tomcat:tomcat /var/log/tomcat9

2️⃣ 中文乱码?

logging.properties 中:

java.util.logging.ConsoleHandler.encoding = UTF-8

八、推荐生产环境配置 ✅

✅ 关闭 FINE / FINER
✅ 开启 access log
✅ 配置 logrotate
✅ 不记录 catalina.out 业务日志


如果你愿意,可以告诉我:

  • Tomcat 版本
  • 系统包安装 还是 官网 tar.gz
  • 想解决的具体问题(如:日志太大 / 没日志 / 想调试)

我可以给你一份 完全贴合你环境的配置

0