如何限制WSO2 ESB中日志中属性的长度?

如何限制WSO2 ESB中日志中属性的长度?,wso2,wso2esb,Wso2,Wso2esb,我需要在WSO2 ESB中剪切日志中的正文内容。为此,我在注册表中有两个参数:enabled(true或false)和limit(integer,例如:1024) 为此,我在属性中有下一个表达式: <property name="BODY_TO_LOG" expression="fn:substring(get-property('default','BODY'),0,getproperty('default','LIMIT'))" type="STRING" scope="default

我需要在WSO2 ESB中剪切日志中的正文内容。为此,我在注册表中有两个参数:enabled(true或false)和limit(integer,例如:1024)

为此,我在属性中有下一个表达式:

<property name="BODY_TO_LOG" expression="fn:substring(get-property('default','BODY'),0,getproperty('default','LIMIT'))" type="STRING" scope="default"/>

请注意,BODY和LIMIT属性之前已设置

我的问题是它不限制在日志中,尽管这些属性的值是正确的


限制属性内容的形式正确吗?

您的表达式应该有效。我已经对它进行了测试,得出了一个荒谬的结论,即当您使用INTEGER类型声明LIMIT属性时,它不会记录任何内容。当您在没有类型的情况下声明LIMIT属性时,它会起作用。如果使用类型字符串声明LIMIT属性,它也会起作用

因此,基本上,您对LIMIT属性的声明应该类似于以下内容:

<property name="LIMIT" type="STRING" value="1024" scope="default"/>



您是否与或一起尝试过此属性?是的,我尝试过。但我也必须限制长度,因为磁盘中没有多少可用空间。
<property name="LIMIT" value="1024" scope="default"/>