WSO2 ESB如何查看异常日志
我已经在WSO2 ESB中编写了一个代理。使用日志文件或监视器功能,我可以在inSequence sequence mediator中查看所有消息中介的日志,但找不到outSequence的日志。我的代理示例是:WSO2 ESB如何查看异常日志,wso2,wso2esb,Wso2,Wso2esb,我已经在WSO2 ESB中编写了一个代理。使用日志文件或监视器功能,我可以在inSequence sequence mediator中查看所有消息中介的日志,但找不到outSequence的日志。我的代理示例是: <proxy name="FlightStatusService" transports="https http" startOnLoad="true" trace="enable"> <des
<proxy name="FlightStatusService"
transports="https http"
startOnLoad="true"
trace="enable">
<description/>
<target>
<inSequence>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="OUT_ONLY" value="true"/>
<property name="TIME_1"
expression="get-property('SYSTEM_TIME')"
scope="default"
type="LONG"/>
<property xmlns:air="http://airline.services.esb.wso2.packt.com"
name="airlineInTransport"
expression="fn:concat('Airline Company - ', //air:updateStatus/air:airline)"
scope="transport"/>
<property name="airlineInDefault"
expression="get-property('transport','airlineInTransport')"
scope="default"/>
<switch xmlns:air="http://airline.services.esb.wso2.packt.com"
source="//air:updateStatus/air:airline">
<case regex="EK">
<event topic="flightStatus/emirates"/>
</case>
<case regex="AA">
<event topic="flightStatus/aa"/>
</case>
<case regex="DL">
<event topic="flightStatus/delta"/>
</case>
<default>
<log level="custom">
<property name="noAirline" value="There is no Airline with these letters"/>
</log>
</default>
</switch>
</inSequence>
<outSequence>
<property name="TIME_2"
expression="get-property('SYSTEM_TIME')"
scope="default"
type="LONG"/>
<script language="js">var time1 = mc.getProperty("TIME_1");
var time2 = mc.getProperty("TIME_2");
var timeTaken = time2 - time1;
print("-------------- " + timeTaken + " ms -----------------");
mc.setProperty("RESPONSE_TIME", timeTaken);</script>
<log level="full" category="DEBUG">
<property name="airlineInTransport"
expression="get-property('default', 'airlineInDefault')"/>
<property name="Time Duration in ms: " expression="get-property('RESPONSE_TIME')"/>
</log>
<send/>
</outSequence>
</proxy>
var time1=mc.getProperty(“TIME_1”);
var time2=mc.getProperty(“TIME_2”);
var timetake=time2-time1;
打印(“--------------”+所用时间+”毫秒-----------------);
mc.setProperty(“响应时间”,耗时);
由于您的代理是对活动的支持,因此outSequence不会受到影响
已编辑->添加代理以供参考
请参考代理
<proxy name="FlightStatusService"
transports="https http"
startOnLoad="true"
trace="enable">
<description/>
<target>
<inSequence>
<property name="TIME_1"
expression="get-property('SYSTEM_TIME')"
scope="default"
type="LONG"/>
<property xmlns:air="http://airline.services.esb.wso2.packt.com"
name="airlineInTransport"
expression="fn:concat('Airline Company - ', //air:updateStatus/air:airline)"
scope="transport"/>
<property name="airlineInDefault"
expression="get-property('transport','airlineInTransport')"
scope="default"/>
<switch xmlns:air="http://airline.services.esb.wso2.packt.com"
source="//air:updateStatus/air:airline">
<case regex="EK">
<event topic="flightStatus/emirates"/>
</case>
<case regex="AA">
<event topic="flightStatus/aa"/>
</case>
<case regex="DL">
<event topic="flightStatus/delta"/>
</case>
<default>
<log level="custom">
<property name="noAirline" value="There is no Airline with these letters"/>
</log>
</default>
</switch>
<loopback/>
</inSequence>
<outSequence>
<property name="TIME_2"
expression="get-property('SYSTEM_TIME')"
scope="default"
type="LONG"/>
<script language="js">var time1 = mc.getProperty("TIME_1");
var time2 = mc.getProperty("TIME_2");
var timeTaken = time2 - time1;
print("-------------- " + timeTaken + " ms -----------------");
mc.setProperty("RESPONSE_TIME", timeTaken);</script>
<log level="full" category="DEBUG">
<property name="airlineInTransport"
expression="get-property('default', 'airlineInDefault')"/>
<property name="Time Duration in ms: " expression="get-property('RESPONSE_TIME')"/>
</log>
<send/>
</outSequence>
</proxy>
var time1=mc.getProperty(“TIME_1”);
var time2=mc.getProperty(“TIME_2”);
var timetake=time2-time1;
打印(“--------------”+所用时间+”毫秒-----------------);
mc.setProperty(“响应时间”,耗时);
非常感谢万吉。我开始使用一个示例,并对其进行了修改,以实现一个功能,而不必关心以前的配置。嗨,Vanji,我觉得现在赞美还为时过早:(虽然我删除了OUT_ONLY和FORCE_SC_ACCEPTED属性中介,但我看不到outsequence日志。还有其他提示或建议吗?嗨,Pymoo,中介的基本流程是客户端(发送请求)->序列->后端->(收到响应)Out Sequence。在您的情况下,您没有后端。因此,OutSquencen将不会参与。因此,请使用环回中介[1]参与OutSequence。WSO2 ESB 480以后的[1]支持此功能环回中介也不走运,我无法修复此示例以使输出序列正常工作,可能有任何问题。也许我应该尝试不同的方法。还有其他建议吗?感谢您的时间Vanji。嗨,Pymoo,请参考添加的代理!在默认使用情况下,它将命中输出序列