温馨提示×

Ubuntu怎么配置Tomcat日志

小樊
42
2026-08-05 13:53:59
栏目: 智能运维

Ubuntu 上配置 Tomcat 日志,主要涉及 logging.propertiesserver.xml 以及可选的 log4j / logback。下面按常见场景系统说明。


一、Tomcat 日志类型说明

Tomcat 默认使用 JUL(java.util.logging),常见日志有:

日志 说明
catalina.out 标准输出(stdout/stderr),默认不自动切割
catalina.YYYY-MM-DD.log JUL 生成的运行日志
localhost.*.log 应用级日志
manager.*.log manager 应用
host-manager.*.log host-manager 应用

二、Tomcat 日志配置文件位置

/opt/tomcat/conf/logging.properties

或(apt 安装):

/etc/tomcat9/logging.properties

三、基础配置(logging.properties)

1️⃣ 修改日志级别

示例:

.level = INFO

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = WARNING
org.apache.catalina.startup.level = INFO

常用级别:

  • SEVERE
  • WARNING
  • INFO
  • FINE / FINER / FINEST(调试)

2️⃣ 修改日志输出目录

默认在:

logs/

可改为绝对路径:

1catalina.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat9

3️⃣ 日志文件前缀

1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

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

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

Ubuntu 官方推荐方式。

创建 logrotate 配置

sudo vim /etc/logrotate.d/tomcat9

内容示例:

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

测试是否生效

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

✅ 方法二:禁止输出到 catalina.out

修改 bin/catalina.sh

CATALINA_OUT=/dev/null

⚠️ 不推荐生产环境,可能丢失错误信息。


五、通过 server.xml 配置 AccessLog(访问日志)

1️⃣ 编辑 server.xml

sudo vim /opt/tomcat/conf/server.xml

示例:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log"
       suffix=".txt"
       pattern="combined"
       rotate="true"
       renameOnRotate="true" />

2️⃣ 常用 pattern

模式 说明
common 基础访问日志
combined 包含 User-Agent、Referer

六、使用 log4j / logback(Web 应用)

✅ 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/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>
        <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>

七、Ubuntu apt 安装 vs 手动安装路径对比

类型 路径
apt 安装 /var/log/tomcat9
手动安装 $CATALINA_HOME/logs

八、常用排查命令

# 查看最新日志
tail -f /var/log/tomcat9/catalina.out

# 查看访问日志
tail -f /var/log/tomcat9/localhost_access_log.txt

# 查看错误
grep -i error /var/log/tomcat9/catalina.*

九、推荐生产配置总结 ✅

✅ 使用 logrotate 管理 catalina.out
✅ 应用日志使用 logback
✅ 开启 AccessLog
✅ 日志级别 INFO,调试时 FINE


如果你愿意,我可以:

  • ✅ 给你一份 Tomcat 9 / 10 完整 logging.properties
  • ✅ 帮你 定制 logrotate
  • ✅ 按 Spring Boot + Tomcat 场景配置

你现在用的是 Tomcat 几?apt 还是手动安装?

0