WSO2ESB - API 记录所有内容两次
WSO2ESB - API Logging everything twice
我一直在 API 上工作,以测试我在工作项目中参与的平台,在圣诞假期回来后,我注意到它突然将所有内容记录两次并且我不确定为什么 - 如果有人可以提出这个原因以及如何阻止它这样做,那将不胜感激。示例如下。
代码:
<iterate expression="//tests">
<target>
<sequence>
<switch source="//tests/type">
<case regex="GW">
<log level="custom">
<property name="TYPE" value="GW"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/gw"/>
</endpoint>
</send>
</case>
<case regex="ESB">
<log level="custom">
<property name="TYPE" value="ESB"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/esb"/>
</endpoint>
</send>
</case>
<case regex="MB">
<log level="custom">
<property name="TYPE" value="MB"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/mb"/>
</endpoint>
</send>
</case>
<default>
<log level="custom">
<property name="OOPS" value="NODE DOESN'T EXIST"/>
</log>
</default>
</switch>
</sequence>
</target>
</iterate>
日志:
[2016-01-13 09:29:17,331] INFO - STRT = STARTING TESTSUITE IN SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,332] INFO - STRT = STARTING TESTSUITE IN SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI}
[2016-01-13 09:29:17,334] INFO - TYPE = ESB {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,340] INFO - STRT = STARTING ESB IN SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,341] INFO - STRT = STARTING ESB IN SEQUENCE {API_LOGGER.testesb}
[2016-01-13 09:29:17,345] INFO - STRT = STARTING TESTSUITE OUT SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,346] INFO - STRT = STARTING TESTSUITE OUT SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI}
[2016-01-13 09:29:17,346] INFO - To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:aafbecb4-c2fd-4d04-a64a-3e4bf1a63e50, Direction: response, Envelope: OK1 {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,347] INFO - ENDO = ENDING TESTSUITE OUT SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator}
[2016-01-13 09:29:17,347] INFO - ENDO = ENDING TESTSUITE OUT SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI}
据我所知,由于我在 API 开发方面的知识和经验有限,日志来自两个不同的来源。我不知道如何停止其中一个,所以它只记录一次,即使我知道如何停止也不知道该停止哪个。
如有任何帮助,我们将不胜感激。
编辑 repository/conf/log4j.properties 并在末尾添加这些行:
log4j.category.org.apache.synapse.mediators.builtin.LogMediator=OFF
log4j.additivity.org.apache.synapse.mediators.builtin.LogMediator=false
您必须重新启动 ESB
通过从 Carbon GUI 控制台将 API_LOGGER.testapi 切换为 False 解决了这个问题。
我一直在 API 上工作,以测试我在工作项目中参与的平台,在圣诞假期回来后,我注意到它突然将所有内容记录两次并且我不确定为什么 - 如果有人可以提出这个原因以及如何阻止它这样做,那将不胜感激。示例如下。
代码:
<iterate expression="//tests">
<target>
<sequence>
<switch source="//tests/type">
<case regex="GW">
<log level="custom">
<property name="TYPE" value="GW"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/gw"/>
</endpoint>
</send>
</case>
<case regex="ESB">
<log level="custom">
<property name="TYPE" value="ESB"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/esb"/>
</endpoint>
</send>
</case>
<case regex="MB">
<log level="custom">
<property name="TYPE" value="MB"/>
</log>
<send>
<endpoint>
<http trace="disable" uri-template="http://localhost:8280/testsuite/node/mb"/>
</endpoint>
</send>
</case>
<default>
<log level="custom">
<property name="OOPS" value="NODE DOESN'T EXIST"/>
</log>
</default>
</switch>
</sequence>
</target>
</iterate>
日志:
[2016-01-13 09:29:17,331] INFO - STRT = STARTING TESTSUITE IN SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,332] INFO - STRT = STARTING TESTSUITE IN SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI} [2016-01-13 09:29:17,334] INFO - TYPE = ESB {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,340] INFO - STRT = STARTING ESB IN SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,341] INFO - STRT = STARTING ESB IN SEQUENCE {API_LOGGER.testesb} [2016-01-13 09:29:17,345] INFO - STRT = STARTING TESTSUITE OUT SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,346] INFO - STRT = STARTING TESTSUITE OUT SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI} [2016-01-13 09:29:17,346] INFO - To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:aafbecb4-c2fd-4d04-a64a-3e4bf1a63e50, Direction: response, Envelope: OK1 {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,347] INFO - ENDO = ENDING TESTSUITE OUT SEQUENCE {org.apache.synapse.mediators.builtin.LogMediator} [2016-01-13 09:29:17,347] INFO - ENDO = ENDING TESTSUITE OUT SEQUENCE {API_LOGGER.JLRWSO2TestSuiteAPI}
据我所知,由于我在 API 开发方面的知识和经验有限,日志来自两个不同的来源。我不知道如何停止其中一个,所以它只记录一次,即使我知道如何停止也不知道该停止哪个。
如有任何帮助,我们将不胜感激。
编辑 repository/conf/log4j.properties 并在末尾添加这些行:
log4j.category.org.apache.synapse.mediators.builtin.LogMediator=OFF
log4j.additivity.org.apache.synapse.mediators.builtin.LogMediator=false
您必须重新启动 ESB
通过从 Carbon GUI 控制台将 API_LOGGER.testapi 切换为 False 解决了这个问题。