温馨提示×

怎样配置Debian Tomcat日志

小樊
52
2026-08-24 01:31:38
栏目: 智能运维

在 Debian 上配置 Tomcat 日志,通常指 Tomcat 自带日志(JULI) 和 Log4j / Logback 两种场景。下面按最常见、最实用的方式一步一步说明,适合 Debian 10/11/12 及 Tomcat 9/10。


一、Tomcat 日志文件位置(Debian 默认)

Debian 通过 apt 安装的 Tomcat,日志一般在:

/var/log/tomcat9/

常见日志文件:

文件 说明
catalina.out 主输出日志(控制台)
catalina.2026-01-21.log 按日期的 catalina 日志
localhost.*.log 应用级日志
manager.*.log Manager 应用日志
host-manager.*.log Host Manager 日志

二、配置 Tomcat 自带日志(JULI,推荐)

Tomcat 使用 java.util.logging(JULI),配置文件在:

/etc/tomcat9/logging.properties

1️⃣ 编辑日志配置

sudo nano /etc/tomcat9/logging.properties

2️⃣ 常见配置示例

修改日志级别(推荐)

.level = INFO

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINE
org.apache.catalina.session.level = WARNING

日志输出到文件(默认已有)

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

三、配置 catalina.out(避免无限增长)

方法 1(推荐):使用 logrotate(Debian 默认)

Debian 已自带:

/etc/logrotate.d/tomcat9

示例(可修改):

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

测试:

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

方法 2:禁止输出到 catalina.out(生产推荐)

修改:

/etc/default/tomcat9

找到并设置:

CATALINA_OUT=/dev/null

然后重启:

sudo systemctl restart tomcat9

✅ 日志仍保存在 catalina.*.log


四、配置 Web 应用日志(Log4j / Logback)

✅ 使用 Logback(最常用)

1️⃣ 添加依赖(Maven)

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.4.14</version>
</dependency>

2️⃣ logback.xml 示例

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/var/log/tomcat9/myapp.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>/var/log/tomcat9/myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
      <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n</pattern>
    </encoder>
  </appender>

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

五、修改 Tomcat 日志格式(访问日志)

编辑:

/etc/tomcat9/server.xml

开启 AccessLog

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

重启:

sudo systemctl restart tomcat9

六、日志权限问题(Debian 常见)

确保 Tomcat 能写日志:

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

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

✅ 使用 logging.properties 控制级别
✅ catalina.out 用 logrotate 或 /dev/null
✅ Web 应用使用 Logback + RollingFile
✅ 日志目录统一 /var/log/tomcat9


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

  • ✅ Tomcat 版本
  • ✅ 是否用 Spring Boot
  • ✅ 只想管 catalina 还是应用日志

我可以给你一份完全可直接用的配置模板。

0 踩