如何限制 WSO2 ESB 日志中属性的长度?
How to limit length of properties in logs in WSO2 ESB?
我需要在 WSO2 ESB 的日志中删除正文内容。为此,我在注册表中设置了两个参数:enabled(true or false)和limit(整数,例如: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 属性 时 - 它有效。如果您使用类型 STRING 声明 LIMIT 属性,它也可以工作。
所以,基本上你的 LIMIT 属性 声明应该类似于以下内容:
<property name="LIMIT" type="STRING" value="1024" scope="default"/>
或
<property name="LIMIT" value="1024" scope="default"/>
我需要在 WSO2 ESB 的日志中删除正文内容。为此,我在注册表中设置了两个参数:enabled(true or false)和limit(整数,例如: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 属性 时 - 它有效。如果您使用类型 STRING 声明 LIMIT 属性,它也可以工作。
所以,基本上你的 LIMIT 属性 声明应该类似于以下内容:
<property name="LIMIT" type="STRING" value="1024" scope="default"/>
或
<property name="LIMIT" value="1024" scope="default"/>