查看Jasper报告执行的SQL

时间:2008-10-16 17:00:59

标签: java sql jasper-reports

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

干杯,

4 个答案:

答案 0 :(得分:11)

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

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

如果您使用的是Log4j,可以阅读那里的this section文档以获取确切的详细信息。

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

log4j.logger.net.sf.jasperreports = INFO,每日

其中“Daily”是在同一属性文件中配置的appender的名称。

答案 1 :(得分:5)

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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