view SQL executed by Jasper report

2019-03-20 04:18发布

When running a Jasper report in which the SQL is embedded in the report file (.jrxml), is it possible to see the SQL that is executed? Ideally, I'd also like to see the values that are substituted for each of the $P{} placeholders.

Cheers,

Don

4条回答
疯言疯语
2楼-- · 2019-03-20 04:39

JasperReports uses the Jakarta Commons Logging API. Commons Logging has a discovery mechanism that connects to logging API you are using in your project.

You need to configure logger named "net.sf.jasperreports" in your logging configuration file to control the logging level of JasperReports.

If you are using Log4j, you can read this section of there documentation for exact details.

For example you may write something like this in log4j.properties file

log4j.logger.net.sf.jasperreports=INFO, Daily

Where "Daily" is name of an appender configured in same properties file.

查看更多
仙女界的扛把子
3楼-- · 2019-03-20 04:47

You can adjust your log4j settings to log the running SQL...

查看更多
混吃等死
4楼-- · 2019-03-20 05:04

If you're using Ms SQL you can use sql profiler, to see every query executed on the server.

EDIT: Here is an article on enabling sql query logging on MySql server: http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/

查看更多
戒情不戒烟
5楼-- · 2019-03-20 05:06

Another option is to use p6spy. P6Spy is sort of a "proxy JDBC driver" that sits between the app and the real JDBC driver, and it can log everything that it sees. You should be able to download a copy here: http://www.p6spy.com/

查看更多
登录 后发表回答