我正在尝试从Camel 2.X迁移到3.X,并遇到了有关记录路由跟踪的问题。以前,我已经在我的应用程序上下文xml文件中像这样配置它:
<bean id="camelTracer" class="org.apache.camel.processor.interceptor.Tracer">
<property name="traceExceptions" value="false" />
<property name="traceInterceptors" value="true" />
<property name="logLevel" value="DEBUG" />
<property name="logName" value="com.mycompany.routing.trace" />
</bean>
<bean id="traceFormatter" class="org.apache.camel.processor.interceptor.DefaultTraceFormatter">
<property name="showBody" value="true" />
<property name="maxChars" value="0" />
</bean>
但这显然行不通了。从Camel网站上的迁移指南中:
“已实现了新的跟踪器,并且已删除了旧的跟踪器。新的跟踪器将消息记录在org.apache.camel。跟踪记录器名称是经过硬编码的。输出的格式也进行了更新,以使其更好。跟踪器可以定制。”
如果我.tracing()
在路线的起点设置,则会记录跟踪。名称是硬编码的,这很好,但是除其他外,我想将级别从INFO更改为DEBUG。
有谁知道在哪里可以找到有关如何配置此“新”跟踪器的信息(最好在applicationContext.xml文件中)?还是其他地方,也许在Java DSL路由中?还是有可能?
谢谢!
的日志记录级别DefaultTracer
无法通过配置更改。您需要实现自定义Tracer
并将此实现绑定到注册表。
示踪剂:
public class TracerCustom extends DefaultTracer {
private static final Logger LOG = LoggerFactory.getLogger("com.stackoverflow.camel.TracerCustom");
@Override
protected void dumpTrace(String out) {
LOG.debug(out);
}
// Customize other methods if needed
}
春天的背景:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean class="com.stackoverflow.camel.TracerCustom" />
<camelContext id="tracerCamelContext" xmlns="http://camel.apache.org/schema/spring">
<route trace="true">
<from uri="timer:test"/>
<to uri="log:test"/>
</route>
</camelContext>
</beans>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句