我在BIRT报告中的数据集的onFetch步骤中遇到了一些问题。
我已经通过几种不同的方式在报告的初始化步骤中添加了日志记录。我正在使用的运行时是Tivoli Common Reporting,它们提供了一个日志框架。它初始化为
reportContext.setPersistentGlobalVariable("logfileName", "DateRangeParm.log");
setupLogging();
logInitialize();
debugLogger("Started logging in initialize step");
debugLogger("Date: " + new Date());
这可以很好地登录报告的步骤(即初始化,BeforeRender,AfterRender等)但我似乎无法在数据集步骤中记录任何内容,例如onFetch等。
我也试过
importPackage(Packages.java.util.logging);
var fileHandler = new FileHandler("/tmp/birt.log", true);
var rootLogger = Logger.getLogger("");
rootLogger.addHandler(fileHandler);
正如BIRT指示告诉我在BIRTFAQ
中所做的那样再一次,这允许我在主报告(即BeforeRender等)中记录事物,但不在数据集onFetch Step中记录。我也尝试将以前的javascript放入onFetch中,这似乎也没有用。这有点神秘。
我在运行Ubuntu 9.04。 IBM java 1.5。 Eclipse 3.5.0和BIRT 2.5.1。
任何帮助都会很棒。
答案 0 :(得分:2)
听起来像是没有调用onfetch方法。您的报告是否会返回数据?是报告设计中使用的数据集吗?
只是为了踢,试试这个记录器
http://www.lebirtexpert.com/wordpress/2010/03/03/using-a-popup-debug-window/
答案 1 :(得分:0)
可能存在一些运行时异常,因为我在beforeFactory()方法中遇到了类似的问题,它抛出异常并继续。