java - Apache Camel 组件特定的日志记录
问题描述
是否可以仅针对特定组件启用登录 apache 骆驼路由?
我知道如何使用日志组件,以及如何启用骆驼日志记录(对于所有组件和您的路线等),但是是否可以只为特定组件启用日志记录?
例如我有以下路线(伪代码):
from(fileendpoint)
.log("consumed file")
.choice()
.when(condition1)
.process([convert to json and set in exchange])
.setHeader(Exchange.CONTENT_ENCODING, "application/xml")
.to(http4endpoint)
.otherwise()
.to(anotherendpoint)
.end();
我知道希望能够做的是只为 http4 组件启用日志,以查看将产生的真正请求是什么。但我不需要路线中其他使用过的组件的详细信息(假设可能有更多)。有没有办法做到这一点?
解决方案
由于骆驼的 HTTP4 组件在内部使用 Apache HTTP 客户端(版本 4),您应该能够添加
<logger name="org.apache.http.wire" level="debug"/>
到您的 Log4J 日志配置,以便仅记录与 HTTP 客户端相关的内容。其他日志框架应该与配置类似。
推荐阅读
- android - 如何使用扩展应用程序的类显示视图和布局
- python - 创建 requirements.txt 文件
- javascript - 如何将数组转换为在第一个和最后一个数组元素上具有不同键的对象?
- c++ - 写入文件 a.txt,而终端被重定向到文件 b.txt
- python - 如何检测列表中的每个列表是否与其他列表重叠?
- c# - WPF DataGrid 列属性按列名
- python - 在嵌套的json文档中将字符串解析为dict
- javascript - 如何使用 Javascript 将 JSON 中的浮点值转换为小数点后两位
- html - puppeteer 图像中断问题
- r - NA 在 R 中的表现如何