You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FUSE ESB 6.1中Jetty驱动REST服务404错误,如何查找日志?

排查FUSE ESB 6.1中Jetty REST服务404无日志问题的方案

我来分享几个亲测有效的方法,帮你找到Jetty返回404时的详细日志:

一、调整FUSE ESB的日志配置,开启Jetty相关日志

FUSE ESB默认的日志配置可能不会记录Jetty的404请求,你需要修改etc/org.ops4j.pax.logging.cfg文件,添加Jetty专属的日志输出:

  1. 打开配置文件,添加以下Logger配置:
log4j.logger.org.eclipse.jetty.server=INFO, jettyLog
log4j.additivity.org.eclipse.jetty.server=false
log4j.appender.jettyLog=org.apache.log4j.RollingFileAppender
log4j.appender.jettyLog.file=${karaf.data}/log/jetty-access.log
log4j.appender.jettyLog.layout=org.apache.log4j.PatternLayout
log4j.appender.jettyLog.layout.ConversionPattern=%d{ISO8601} %-5p [%c] %m%n

这个配置会把Jetty的所有请求日志(包括404)单独输出到data/log/jetty-access.log文件里,格式包含时间、日志级别、请求详情。

  1. 如果你的REST服务是通过Camel路由暴露的,还要开启Camel的调试日志,确保能看到请求是否进入路由:
log4j.logger.org.apache.camel=DEBUG

二、启用Jetty的AccessLogHandler记录详细请求

如果上面的配置还不够,你可以直接给Jetty添加访问日志处理器,记录更全面的请求信息:

在Jetty的上下文配置文件中(通常是你的REST应用的jetty.xml或者相关配置),添加AccessLogHandler的配置:

<Set name="handler">
  <New class="org.eclipse.jetty.server.handler.HandlerCollection">
    <Set name="handlers">
      <Array type="org.eclipse.jetty.server.Handler">
        <Item>
          <New class="org.eclipse.jetty.server.handler.AccessLogHandler">
            <Set name="handler"><Ref refid="originalHandler"/></Set>
            <Set name="requestLog">
              <New class="org.eclipse.jetty.server.NCSARequestLog">
                <Arg><SystemProperty name="karaf.data" default="."/>/log/jetty-yyyy_mm_dd.request.log</Arg>
                <Set name="retainDays">90</Set>
                <Set name="append">true</Set>
                <Set name="extended">true</Set>
                <Set name="logTimeZone">GMT</Set>
              </New>
            </Set>
          </New>
        </Item>
      </Array>
    </Set>
  </New>
</Set>

这个配置会生成按日期分割的请求日志,里面包含请求URL、状态码(比如404)、客户端IP、请求方法、响应时间等细节,能精准定位错误的服务请求。

三、动态调整日志级别(无需重启服务)

如果不想修改配置文件重启服务,可以通过Karaf命令行临时开启调试日志:

  • 开启Jetty日志:log:set DEBUG org.eclipse.jetty.server
  • 开启Camel日志:log:set DEBUG org.apache.camel
    排查完成后,记得改回原来的级别(比如INFO),避免日志量过大:log:set INFO org.eclipse.jetty.server

四、查看日志位置

所有生成的日志文件都在FUSE ESB的${FUSE_HOME}/data/log目录下,你可以直接查看jetty-access.log或者按日期命名的jetty-xxxx.request.log,里面会清晰记录导致404的错误请求信息,包括客户端请求的错误服务名称。

内容的提问来源于stack exchange,提问作者Nandan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:14:10