Sometimes it is necessary to see which queries are executed and what the parameters of these queries have been. To get this data from a JBoss 7+ you have to follow these steps:
Enable JDBC-Spy on Datasource:
/subsystem=datasources/data-source=ExampleDS/:write-attribute(name=spy,value=true)
Or just add spy=”true” as attribute in standalone.xml.
Then you have to enable the spy by adding a loglevel:
/subsystem=logging/logger=jboss.jdbc.spy/:add(level=TRACE)
If this doesn’t output anything your loglevel is above trace. Default is INFO. So nothing is displayed.
Add the following part to your logging configuration to enable TRACE-logging for a single package:
<subsystem xmlns="urn:jboss:domain:logging:2.0"> ... <console-handler name="TRACER"> <level name="TRACE"/> <formatter> <named-formatter name="COLOR-PATTERN"/> </formatter> </console-handler> ... <logger category="jboss.jdbc.spy" use-parent-handlers="false"> <level name="TRACE"/> <handlers> <handler name="TRACER"/> </handlers> </logger> ... </subsystem>
I didn’t use command line for this but of course it would be possible to do so.