我正在使用IBM iLog.NET业务规则引擎(v7r1或其左右),我无法找到我的规则失败的原因。如何追踪失败的原因,地点和原因?
我有一个本地对象模型,它调用我在IIS 6.0上的IBM规则服务中托管的规则。
我的大约一半规则被配置为使用新的状态代码修改其中一个输入对象。我觉得应该没有设置代码,但我无法确切地说出哪些规则受到了影响。
答案 0 :(得分:0)
我发现IBM iLog.NET documentation的答案深埋在内心深处。持久的Google搜索显示我可以在ILOG.Rules.ExecutionServer.Trace.EventFilterCategories
对象上设置ExecutionRequest
,然后再将其发送到服务器。
ExecutionRequest request = new ExecutionRequest(rulePath);
request.TraceFilter.EventFilters
= ILOG.Rules.ExecutionServer.Trace.EventFilterCategories.All;
...
ExecutionResponse response = session.Execute(request);
ILOG.Rules.ExecutionServer.Trace.Trace trace = response.Trace;
Debug.WriteLine(trace.SerializedExecutionTrace);
序列化跟踪包含调用的所有输入和输出,以及执行期间触发的所有规则以及完全没有命中的规则。