【发布时间】:2021-05-20 16:55:46
【问题描述】:
我正在使用 drools 7.44 并且有一个包含 20 多个规则的包。目前我面临的问题是有时我希望触发的某些规则没有触发。 在 then 我可以添加日志语句,但不能在 when 中。 有没有办法调试或记录规则的哪些条件失败?
如果客户年龄=21,性别=男性,并且使用以下规则。我如何在运行时确定性别是导致规则不触发的标准。
rule "some rule"
when
$c : Customer(age>18 , gender == "female" )
then
........
do something here
log.debug("something to log")
end
这是一个简单的例子来说明问题。理想情况下,我们有多个条件。
【问题讨论】:
-
您想要日志记录解决方案还是调试解决方案?您可能想开始记录您的实际规则命中,看看是否首先触发的东西可能会在输入上调用
retract或修改它们或其他东西。 -
基本上我想知道为什么某个规则条件没有被评估,这样我就可以指出确切的条件。