Drools怎么调试?解决如何在intellij IDEA 调试Drools的问题
1.Drools能不能用开发工具调试?
首先明确一下:eclipse有调试Drools的插件,而IDEA目前的Drools插件是不支持调试的。
但是eclipse调试Drools也有一个前提,就是需要使用MVEL的语法而非java。
我们实际使用IDEA开发并且不用Mvel写Drools规则,所以结论就是:暂时不能用开发工具调试。
2.Drools的日志工具类
那么就只能靠打印日志信息来调试了。如何打印日志信息呢?这里记录一下Drools的日志工具类:
首先建一个工具类:
package com.itheima.utility;
import org.drools.core.spi.KnowledgeHelper;
public class Utility {
public static void loger(final KnowledgeHelper drools){
System.out.println("\nrule triggered: " + drools.getRule().getName());
}
public static void loger(final KnowledgeHelper drools, final String message){
System.out.println(message);
System.out.println("\nrule triggered: " + drools.getRule().getName());
}
}
在drl文件中引入
Plain Text
import function com.lt.drools.utility.DroolsUtility.loger
注意控制台输出
3.引发的问题
3.1导致语法提示错误
加入drools的日志工具类引入后,IDEA语法提示出现误判,并且不能智能提示,暂不明原因。
加入前:
加入后:
3.2不能通过logger级别来统一控制日志信息
解决方法参考:[[如何使用logger打印Drools的调试日志信息 id=7292878a-4bc2-4db0-a1fc-816e8fe14bef]]