温馨提示×

debian tomcat日志怎样过滤

小樊
47
2026-10-07 05:24:58
栏目: 智能运维

在 Debian 上运行 Tomcat 时,日志过滤通常可以从命令行查看过滤和Tomcat 自身日志配置过滤两个层面来做。下面分情况说明。


一、命令行实时/历史过滤(最常用)

Tomcat 日志一般在:

  • /var/log/tomcat9/(Debian 包安装,版本可能不同)
  • $CATALINA_HOME/logs/(手动安装)

常见日志文件:

  • catalina.out
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • host-manager / manager 日志

1. 按关键字过滤

grep "ERROR" /var/log/tomcat9/catalina.out

2. 实时查看并过滤

tail -f /var/log/tomcat9/catalina.out | grep "Exception"

3. 过滤多个关键字

grep -E "ERROR|WARN|Exception" /var/log/tomcat9/catalina.out

4. 按时间过滤

grep "2024-01-15 10:" /var/log/tomcat9/catalina.out

5. 反向过滤(排除)

grep -v "DEBUG" /var/log/tomcat9/catalina.out

二、Tomcat 日志级别过滤(配置层面)

1. 使用 logging.properties(JUL)

路径:

/etc/tomcat9/logging.properties

或

$CATALINA_HOME/conf/logging.properties

示例:只记录 WARNING 及以上

.level = WARNING

指定包:

org.apache.catalina.level = INFO
com.example.app.level = DEBUG

2. 使用 Log4j / Logback(推荐)

如果项目使用 Log4j2 或 Logback:

Logback 示例:

<logger name="com.example" level="INFO"/>
<root level="WARN">
    <appender-ref ref="FILE"/>
</root>

可过滤:

  • 包级别
  • 日志级别
  • 输出文件

三、按访问日志过滤(Access Log)

server.xml 中:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       pattern="%h %l %u %t "%r" %s %b" />

查看 404:

grep " 404 " /var/log/tomcat9/localhost_access_log.*.txt

四、常用实用示例

只看异常:

tail -f /var/log/tomcat9/catalina.out | grep -A 10 -B 2 "Exception"

只看某接口:

grep "/api/login" /var/log/tomcat9/localhost_access_log.*.txt

如果你能说明:

  • Tomcat 版本
  • 是否用 Log4j / Logback
  • 想“看日志时过滤”还是“写日志时就过滤”

我可以给你更精确的配置示例。

0 踩