温馨提示×

Ubuntu Tomcat日志如何设置

小樊
44
2026-07-21 21:45:52
栏目: 智能运维

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


一、Tomcat 日志类型说明

Tomcat 主要有以下几类日志:

日志类型 说明
catalina.out 标准输出日志(最常用)
catalina.YYYY-MM-DD.log 启动/关闭日志
localhost.*.log 应用级异常
manager.*.log Manager 应用
host-manager.*.log Host Manager
access log 访问日志(类似 Nginx access.log)

二、核心配置文件位置

在 Ubuntu 上,Tomcat 常见路径:

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

关键配置文件:

/etc/tomcat9/logging.properties

三、设置 Tomcat 运行日志(logging.properties)

1️⃣ 打开配置文件

sudo vim /etc/tomcat9/logging.properties

2️⃣ 设置日志级别

日志级别(由低到高):

ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF

示例:只记录 INFO 及以上

org.apache.catalina.level = INFO
org.apache.catalina.handlers = 1catalina.org.apache.juli.AsyncFileHandler

关闭 DEBUG(生产环境推荐):

java.util.logging.ConsoleHandler.level = INFO

3️⃣ 修改日志目录(可选)

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

4️⃣ 限制日志大小(防止磁盘爆满)

1catalina.org.apache.juli.AsyncFileHandler.limit = 10485760
1catalina.org.apache.juli.AsyncFileHandler.count = 10

表示:

  • 单个日志最大 10MB
  • 最多保留 10 个历史文件

四、catalina.out 日志管理(非常重要)

⚠️ Tomcat 默认不会自动切割 catalina.out

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

创建 logrotate 配置:

sudo vim /etc/logrotate.d/tomcat9

内容示例:

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

重启 logrotate:

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

方法二:禁用 catalina.out(不推荐)

修改 systemd 启动参数,但可能影响排错。


五、设置访问日志(Access Log)

1️⃣ 编辑 server.xml

sudo vim /etc/tomcat9/server.xml

2️⃣ 启用 AccessLogValve

<Host> 内添加:

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

3️⃣ 常用 pattern(推荐)

pattern="%h %l %u %t "%r" %s %b %D"
  • %D:请求耗时(毫秒)

六、应用日志(Log4j / Logback)

如果你部署的是 Java Web 项目

Log4j2 示例

log4j2.xml

<RollingFile name="FileAppender"
             fileName="/var/log/tomcat9/app.log"
             filePattern="/var/log/tomcat9/app-%d{yyyy-MM-dd}.log">
    <PatternLayout>
        <Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n</Pattern>
    </PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy />
    </Policies>
</RollingFile>

七、重启 Tomcat 生效

sudo systemctl restart tomcat9

查看日志:

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

八、推荐生产环境配置 ✅

  • ✅ 日志级别:INFO
  • ✅ 启用 logrotate
  • ✅ 限制 catalina.out 大小
  • ✅ 应用日志单独目录
  • ✅ 定期清理历史日志

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

  • Tomcat 版本
  • 是否是生产环境
  • 是否使用 Docker / systemd

我可以帮你给出 一份可直接使用的完整配置

0