温馨提示×

tomcat日志debian怎么配置

小樊
33
2026-08-12 03:41:02
栏目: 智能运维

Debian 系统上配置 Tomcat 日志,主要涉及 logging.properties(JULI 日志) 和可选的 log4j / logback。下面按最常见、最实用的方式一步一步说明。


一、Tomcat 日志类型说明(先搞清楚)

Tomcat 常见日志有 3 类:

  1. catalina.out

    • 标准输出 / 标准错误
    • 默认不轮转(最容易撑满磁盘)
  2. catalina.YYYY-MM-DD.log

    • Tomcat 自身运行日志(JULI)
  3. localhost / manager / host-manager 日志

    • 应用相关日志

二、Debian 下 Tomcat 常见安装路径

如果是 apt 安装

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

如果是 官方 tar.gz 安装

/opt/tomcat/

下面以 Tomcat 9 + Debian 为例说明。


三、配置 Tomcat 日志(logging.properties)

1️⃣ 编辑日志配置文件

sudo nano /etc/tomcat9/logging.properties

核心内容示例(推荐):

handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 30

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

✅ 说明:

  • rotatable=true:按天滚动
  • maxDays=30:保留 30 天
  • FINE 可调为 INFO

四、解决 catalina.out 无限增长问题(非常重要)

Debian 默认 catalina.out 不会自动切割

✅ 推荐方案 1:使用 logrotate(最常用)

1️⃣ 创建 logrotate 配置

sudo nano /etc/logrotate.d/tomcat9

内容示例:

/var/log/tomcat9/catalina.out {
    daily
    rotate 30
    missingok
    notifempty
    compress
    copytruncate
    dateext
}

2️⃣ 测试是否生效

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

✅ 优点:

  • 系统级
  • 稳定
  • 生产环境首选

✅ 方案 2:禁用 catalina.out(不推荐但可用)

修改 systemd 服务:

sudo systemctl edit tomcat9

追加:

[Service]
StandardOutput=null
StandardError=journal

然后重启:

sudo systemctl restart tomcat9

⚠️ 缺点:看不到控制台日志


五、调整 Tomcat 日志级别

常见级别

级别 说明
SEVERE 严重错误
WARNING 警告
INFO 默认
FINE 调试
FINER 更详细

示例:只显示 INFO

.level = INFO

六、Web 应用日志(log4j / logback)

如果你部署的是 Spring Boot / Java Web 项目

logback 示例(推荐)

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/var/log/tomcat9/app.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>/var/log/tomcat9/app.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>30</maxHistory>
    </rollingPolicy>
  </appender>

  <root level="INFO">
    <appender-ref ref="FILE"/>
  </root>
</configuration>

七、Debian 权限问题(常见坑)

sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9

八、重启 Tomcat

sudo systemctl restart tomcat9

查看日志:

tail -f /var/log/tomcat9/catalina.out

九、推荐生产环境配置总结 ✅

✅ 使用 logging.properties 控制 Tomcat 日志
✅ 使用 logrotate 管理 catalina.out
✅ 应用日志用 logback
✅ 日志保留 30 天
✅ 不记录 DEBUG 级别


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

  • Tomcat 版本(8 / 9 / 10)
  • 安装方式(apt 还是 tar.gz)
  • 是否 Spring Boot

我可以给你 完全定制化的配置方案

0