问题说明

在自定义任务中,想查看一个变量的值,应该怎么做?

参考解决办法

由于任务代码是js语法的java代码,实际上代码是在服务器端执行,正常方式部署的环境都无法进行断点调试,因此需要通过java方法打印变量值实现间接调试。

有三种办法查看变量值:
1、办法一:在自定义任务中添加如下脚本,引入log4j包,将结果打印到日志中查看。

importPackage(Packages.java.lang);
importPackage(Packages.org.apache.log4j);
 
var logger = Logger.getLogger("smartbi.oltp.FreeQueryConfiguration");
var tempVar = "1234567890";
logger.debug("tempVar = " + tempVar);

上述代码在日志文件中打印结果如下:


2、办法二:在自定义任务中添加如下脚本,利用任务上下文中系统内置的写日志对象logger,将结果打印到日志中查看。

importPackage(Packages.java.lang);

var tempVar = "1234567890";
logger.debug("tempVar = " + tempVar);

上述代码在日志文件中打印结果如下:


3、办法三:在自定义任务中添加如下脚本,将结果打印到服务器控制台。

importPackage(Packages.java.lang);
 
var tempVar = "abc";
System.out.println("tempVar = " + tempVar);

上述代码在服务器控制台中打印结果如下: