2

我在 BIRT 报告中数据集的 onFetch 步骤中遇到了一些 javascript 问题。

我以几种不同的方式在报告的初始化步骤中添加了日志记录。我使用的运行时是 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。

任何帮助都会很棒。

4

2 回答 2

1

听起来好像没有调用 onfetch 方法。您的报告是否返回数据?报告设计中是否使用了数据集?

只是为了好玩,试试这个记录器

http://www.lebirtexpert.com/wordpress/2010/03/03/using-a-popup-debug-window/

于 2010-04-03T15:03:03.143 回答
0

可能有一些运行时异常,因为我在 beforeFactory() 方法中遇到了类似的问题,它抛出异常并继续。

于 2010-10-19T05:44:08.380 回答