2016-02-13 143 views
1
使用日志EIP

我使用的是骆驼日志从Java EIP时设置默认记录器或loggerRef:如何在骆驼

from("direct:source") 
    .log("Hello"); 

我知道我可以在每个日志指定记录器()调用。但是,如何为CamelContext或路径生成器类中的所有路由设置默认记录器一次。通过这种方式,我可以使用包范围来为特定的日志()调用启用详细日志记录,而无需在每次调用中提及日志记录器。

如果不是直接的,另一种选择是默认的包名从路由ID改变camelContext路由ID

回答

0

您可以设置在骆驼注册表中的记录,则日志EIP会使用它,但必须有只有一个,看源代码:

https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/model/LogDefinition.java#L94

+0

这个工作。作为参考,我将以下内容添加到了主@Configuration类中: \ @Bean public Logger logger(){ builders Logger logger = LoggerFactory.getLogger(MainSpringBootRouter.class); return logger; } 不幸的是,这种方法在类型转换器方面失去了默认记录器的一些优点。所以,我倾向于保留默认值并组织routeId的使用前缀以允许调试级别调试。 – drsquidop