【问题标题】:Camel route does not log when deployed in ServiceMix在 ServiceMix 中部署时骆驼路由不记录
【发布时间】:2015-04-02 09:55:35
【问题描述】:

我参考了下面的文章并创建了依赖项和 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 中部署了我的路由,我就会检查 service mix 日志。我找不到记录的任何此类消息。除了指定 id 的路由创建消息。

我是不是检查错地方了?

【问题讨论】:

    标签: apache-camel log4j apache-servicemix


    【解决方案1】:

    您需要向direct:start 端点发送一条消息,以便任何事情发生。

    如果你只是想看看正在发生的事情,那么你可以使用计时器而不是直接,例如

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

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

    【讨论】:

    • 感谢您的信息。有效。目前日志显示在 servicemix.log 文件中。如果我想根据我的骆驼路线要求在不同的文件日志中打印消息,我该怎么做?
    • 阅读有关登录 Karaf 的信息 -> karaf.apache.org/manual/latest-2.2.x/users-guide/…
    【解决方案2】:

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

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

    karaf@root> log:display | grep Displaying
    

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 2015-06-12
        • 2015-04-29
        • 1970-01-01
        相关资源
        最近更新 更多