【问题标题】:Log request event during debug in Mule 4在 Mule 4 中调试期间记录请求事件
【发布时间】:2021-07-15 11:52:56
【问题描述】:

我想在 Anypoint Studio 中以调试模式在发送之前记录出站请求事件(无论是 http、smb 还是 lambda)。那可能吗?如果是,怎么做?

【问题讨论】:

    标签: anypoint-studio mulesoft


    【解决方案1】:

    对于 Mule HTTP 连接器和其他使用 Mule HTTP 服务的连接器,您可以通过在应用程序的 log4j2.xml 文件中或在运行时管理器中的日志记录选项卡。每个 Mule 版本都有一个特定的记录器。请查看知识库文章How to Enable HTTP Wire Logging 了解详细说明。

    专门针对 Mule 4.x 应用程序:

    <Loggers>
        ...
        <AsyncLogger name="org.mule.service.http.impl.service.HttpMessageLogger" level="DEBUG" />
        ...
    </Loggers>
    

    对于其他连接器,您需要查看所述连接器的文档。我不确定您是否真的打算调试每个连接器的协议(例如 SMB 请求),或者只是想看看连接器是否在做任何事情。如果是前者,大多数连接器不会提供与 HTTP 连接器相同级别的协议详细信息。您可能会发现进行流量捕获并为此使用像 Wireshark 这样的数据包分析器更有用。对于后者,这将取决于每个连接器可以使用记录器打印什么。这个KB article 提供了一些其他连接器的说明。

    【讨论】:

      【解决方案2】:

      在 log4j2.xml 中添加异步记录器声明可以帮助解决这种情况。 比如我用过

      <Loggers>
          ...
          <AsyncLogger name="org.mule.service.http.impl.service.HttpMessageLogger" level="DEBUG" />
          ...
      </Loggers>
      

      它帮助我实现了 Http 和 aws-lambda 连接器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-14
        • 1970-01-01
        • 2020-05-24
        • 2019-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多