8

在运行将 SQL 嵌入报告文件 (.jrxml) 中的 Jasper 报告时,是否可以看到执行的 SQL?理想情况下,我还希望看到替换每个 $P{} 占位符的值。

干杯,

大学教师

4

4 回答 4

12

JasperReports 使用 Jakarta Commons Logging API。Commons Logging 有一个发现机制,可以连接到您在项目中使用的日志记录 API。

您需要在日志记录配置文件中配置名为“net.sf.jasperreports”的记录器来控制 JasperReports 的日志记录级别。

如果您使用的是 Log4j,您可以阅读该文档的这一部分以了解详细信息。

例如,您可以在 log4j.properties 文件中编写类似这样的内容

log4j.logger.net.sf.jasperreports=信息,每日

其中“每日”是在同一属性文件中配置的附加程序的名称。

于 2008-10-16T17:13:31.310 回答
5

另一种选择是使用 p6spy。P6Spy 是一种位于应用程序和真正的 JDBC 驱动程序之间的“代理 JDBC 驱动程序”,它可以记录它看到的所有内容。您应该可以在此处下载副本: http ://www.p6spy.com/

于 2008-10-16T18:27:49.850 回答
1

如果您使用的是 Ms SQL,您可以使用 sql profiler 来查看服务器上执行的每个查询。

编辑:这是一篇关于在 MySql 服务器上启用 sql 查询日志记录的文章:http: //www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/

于 2008-10-16T17:07:39.000 回答
0

您可以调整 log4j 设置以记录正在运行的 SQL ...

于 2008-10-16T17:04:28.210 回答