java - 使用 log4j 将 Camel 交换主体记录为字符串

标签 java logging log4j apache-camel blueprint

我正在尝试使用 log4j 将交换主体记录为字符串。

<convertBodyTo id="_convertBodyTo1" type="java.lang.String"/>
<to id="_to1" uri="log:com.javarticles?level=INFO"/>

但它没有记录为字符串

15:09:05,403 | INFO  | qtp938841692-57  | javarticles                      |
198 - org.apache.camel.camel-core - 2.15.1.redhat-620133 | 
Exchange[ExchangePattern: InOut, BodyType: java.lang.String, Body: 
org.apache.cxf.jaxrs.impl.HttpHeadersImpl@52767902]

我们必须做额外的逻辑来记录交换主体吗?我们如何记录 http header ?

最佳答案

如果只想记录消息体,那么使用

<log message="${body}"/>

日志端点默认记录一堆细节,您可以使用列出的选项打开|关闭这些:http://camel.apache.org/log

关于java - 使用 log4j 将 Camel 交换主体记录为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41260958/

相关文章:

java - logger会不会遵循顺序执行

java - 如何通过属性文件使用 log4j 在日志文件中追加输出和错误流打印

java - 使用 javax.script.ScriptEngine 对象评估 javaScript 代码后返回 boolean 值

Java 运行时错误 UVA 11877 可口可乐

c# - 如果已定义 ForContext<class> 是否可以仅在 Serilog 中显示 SourceContext

logging - 如何关联分布式 Vertx 系统中的日志事件

java - 在 JUnit 测试类中哪里配置 log4j?

java - Spring ApplicationContext bean 加载了两次

java - Android有没有办法检测cyanogenmod及其版本?

java - 使用正则表达式提取一些数据