Version 1

    Olá,

     

      O JBoss AS 7 fornece uma maneira muito eficiente de permitir o logging de todas as informações relacionadas com a connection/statements de qualquer método que seja invocado sobre os objetos JDBC.

     

    Para ativar esse mecanismo é bem simples. No subsystem logging adicione a categoria jboss.jdbc.spy:

     

    <logger category="jboss.jdbc.spy">
       <level name="TRACE"/>
    </logger>
    

     

    Depois adicione o atributo spy=”true” no datasource que está sendo utilizado:

     

    <datasource jndi-name="java:/MySQLDS" pool-name="MySQL" enabled="true" spy="true">
    

     

    Observe o Log gerado:

     

    21:03:14,744 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySQLDS [Connection] createStatement()
    21:03:14,748 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [Statement] executeQuery(SELECT * FROM estados)
    21:03:14,756 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [ResultSet] next()
    21:03:14,756 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [ResultSet] getString(1)
    21:03:14,757 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [ResultSet] getString(2)
    21:03:14,757 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [ResultSet] next()
    21:03:14,757 DEBUG [jboss.jdbc.spy] (http-localhost-127.0.0.1-8080-1) java:/MySqlDS [Connection] close()