2014-07-10 44 views
0

我打電話從Apache的駱駝XML DSL的Apache ServiceMix的內部運行的JavaScript文件,如下所示:如何從駱駝稱呼的Javascript中記錄消息?

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

我想,這樣的消息在主駱駝境記錄顯示,高達數從內myJavascript.js消息。

Camel doc here表示CamelContext Java對象已通過。我希望它會包括對記錄器的吸氣,這樣我可以在腳本中做這樣的事情:

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

然而,有一個記錄器沒有提到(我注意到一個調試器和一個攔截器的吸雖然),所以看起來我運氣不好。

任何想法,我可以做到這一點?

回答

1

我發現我的答案埋在本文的深處here

我只需要以下添加到我的javascript:

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

它使用駱駝交易所從路線ID作爲日誌的名字,但你可以使用腳本名代替。

然後我可以調用記錄器如下並且消息在主駱駝記錄結束:

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