在 ServiceMix 中部署时,Camel 路由不会记录

Camel route does not log when deployed in ServiceMix

我参考了下面的文章并创建了依赖项和 log4j 属性 http://camel.apache.org/how-do-i-use-log4j.html

这是我的简单路线

from("direct:start")
    .routeId("LogEipInfoLevelRoute")
    .log(LoggingLevel.INFO, "Displaying Something - ${body}")
    .to("mock:result");

一旦我在 servicemix 中部署我的路由,我就会检查服务混合日志。我找不到记录的任何此类消息。除了具有指定 id 的路由创建消息。

我是不是查错地方了?

我假设您使用的是基于 OSGI 的 ServiceMix 版本

请在 karaf 控制台中执行以下命令:

karaf@root> log:display | grep Displaying

有关 ServiceMix 日志系统的更多信息,请参见 http://servicemix.apache.org/docs/4.4.x/users-guide/logging-system.html

您需要将消息发送到 direct:start 端点才能进行任何操作。

如果你只是想看看发生了什么,那么你可以使用计时器而不是直接使用,例如

from("timer:foo?period=5000")

每 5 秒计算一条新消息。请注意,消息正文是来自计时器的 null

您必须将某些内容传递给 direct:start 才能发生某些事情。您可以在此处阅读有关使用 direct 的更多信息:http://camel.apache.org/direct.html

我只建议使用计时器来开始您的路线。一旦您的路线被计时器启动,您的日志将被写入您的日志文件。