问题描述
我想在发送之前以调试模式在 Anypoint Studio 中记录出站请求事件(无论是 http、smb 还是 lambda)。那可能吗?如果是,怎么做?
解决方法
在 log4j2.xml 中添加异步记录器声明可以帮助解决这种情况。 例如,我用
<Loggers>
...
<AsyncLogger name="org.mule.service.http.impl.service.HttpMessageLogger" level="DEBUG" />
...
</Loggers>
它对 Http 和 aws-lambda 连接器有帮助。
,对于 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 提供了一些其他连接器的说明。