【问题标题】:How do I log a message from Javascript called by Camel?如何记录来自 Camel 调用的 Javascript 的消息?
【发布时间】:2014-07-10 14:42:54
【问题描述】:

我从运行在 Apache ServiceMix 中的 Apache Camel XML DSL 调用 Javascript 文件,如下所示:

<endpoint id="myJavascript" uri="language:javascript:file:data/myJavascript.js"/>
...
<to ref="myJavascript"/>
...

我想从 myJavascript.js 中记录一条消息,以便该消息显示在 Camel Context 主日志中。

Camel 文档here 表示传递了CamelContext Java 对象。我希望它会包含一个记录器的吸气剂,这样我就可以在脚本中做这样的事情:

var log = context.getLog();
log.debug("Some debug log message");

但是,没有提到记录器(我注意到调试器和拦截器的吸气剂)所以看起来我不走运。

有什么想法可以实现吗?

【问题讨论】:

    标签: javascript logging apache-camel


    【解决方案1】:

    我发现我的答案深埋在这篇文章here

    我只需要在我的 Javascript 中添加以下内容:

    var LOG = org.slf4j.LoggerFactory.getLogger(exchange.getFromRouteId());
    

    这使用 Camel Exchange From Route Id 作为日志名称,但您可以改用脚本名称。

    然后我可以按如下方式调用记录器,消息最终会出现在主 Camel 记录器中:

    LOG.info("Log message at INFO level");
    LOG.debug("Log message at DEBUG level");
    

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多