【问题标题】:(ILOG) IBM ODM 8.5 Logging a name of the rule in execution time(ILOG) IBM ODM 8.5 在执行时记录规则的名称
【发布时间】:2014-02-13 13:10:19
【问题描述】:

我想创建一个日志,例如 System.out.println("RuleName : "+ruleName);在 IBM ODM 规则引擎中。

这就是我所做的;

1- 创建静态的 BOM 虚拟方法并获取实例的参数 ilog.rules.engine.IlrRuleInstance 的对象。

instance ilog.rules.engine.IlrRuleInstance

2- 通过以下方式创建 BOM 到 XOM 的映射

System.out.println("Log icinde");
String ruleName = "";
if (instance != null )
    ruleName = instance.getRuleName();
else
    System.out.println("instance null!");
if (ruleName != null) {
    System.out.println("RuleName: "+ ruleName);
}
return;

3- 在规则流中将其作为初始或最终操作调用。

utility.logla(ruleInstance);

但是当我执行流程时,我的日志不起作用实例是 null 并且 ruleName 也是 null;

我应该如何使用 bom.xml 配置和设置日志记录功能。可以举个例子吗?

谢谢。

【问题讨论】:

    标签: java logging ibm-odm


    【解决方案1】:

    因此,您可以使用作为执行服务器一部分的决策仓库来跟踪每次执行。这可以包括在执行期间触发了哪些规则,但取决于您应用的过滤器。

    这里是关于 DW 的文档以及如何设置它:http://pic.dhe.ibm.com/infocenter/dmanager/v8r5/topic/com.ibm.wodm.dserver.rules.res.managing/topics/con_res_dw_overview.html

    【讨论】:

    • 非常感谢我会考虑的。
    【解决方案2】:

    这是因为您在规则流中的规则实例上下文之外调用 getRuleName(),从您的描述中可以看出。

    如果您在规则的操作中调用了 BOM 方法,则可以调用 IlrRuleInstance.getRuleName(),它会返回规则的名称(我自己以前做过这样的事情)。

    您想通过此日志记录实现什么目标?

    【讨论】:

    • 感谢您的回复,但正如您在这里所说,我无法在 BOM 到 XOM 映射字段中调用该方法 IlrRuleInstance.getRuleName()。正如我所见,该实例仅适用于操作规则;如果我想在 BAL 区域的规则流中调用它怎么办?或者无论如何在规则流中的 BAL 区域中调用它。我想在这里达到的点通过使用 BOM 在规则流中的 BAL 区域中调用它。我想看看哪些规则被激活,哪些不在运行时,这就是我想要实现的。
    【解决方案3】:

    有一种更好的从规则记录的方法。在您的 Virtual 方法中,传递规则本身的名称而不是 ruleInstance。您也可以用语言表达您的方法并在每条规则中使用相同的方法。

    例如: 来自 BAL: 记录这条规则的名称;

    来自 IRL: 日志(ilog.rules.brl.IlrNameUtil.getBusinessIdentifier(?instance.ruleName));

    【讨论】:

      【解决方案4】:

      另一种方法是在规则应用程序或模块的规则流(编排)中使用上面提供的 BAL (the name of this rule)。

      当然,此解决方案应仅用于调试或故障排除场景。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多