Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add method for logging all SQL requests with log4jdbc

...

  • copy the gem from local ruby installation into WEB-INF/vendor/gems.
  • execute "jruby -S gem specification <gemname> > .specification" from WEB-INF/vendor/gems/<gemname>. It generates the .specification file.
  • commit the directory WEB-INF/vendor/gems

Log all SQL request

Here is how to log all SQL requests sent from Sonar Web Server :

  1. Download log4jdbc4-1.2.jar from http://log4jdbc.googlecode.com/files/log4jdbc4-1.2.jar
  2. Copy this jar here : $SONAR_HOME/war/sonar-server/WEB-INF/lib/log4jdbc4-1.2.jar
  3. IMPORTANT: Change the configuration of logback.xml because if not modified everything will be logged (http://code.google.com/p/log4jdbc/#5._Set_up_your_loggers)

    Code Block
    languagehtml/xml
      <logger name="jdbc.sqltiming">
        <level value="OFF"/>
        <appender-ref ref="PROFILING_FILE"/>
      </logger>
      <logger name="jdbc.connection">
        <level value="INFO"/>
        <appender-ref ref="PROFILING_FILE"/>
      </logger>
      <logger name="jdbc.audit">
        <level value="OFF"/>
        <appender-ref ref="PROFILING_FILE"/>
      </logger>
      <logger name="jdbc.resultset">
        <level value="OFF"/>
        <appender-ref ref="PROFILING_FILE"/>
      </logger>
      <logger name="jdbc.sqlonly">
        <level value="OFF"/>
        <appender-ref ref="PROFILING_FILE"/>
      </logger>
  4. Restart sonar and you should be able to see :

    Code Block
    languagenone
     2012.07.02 16:04:06 INFO  jdbc.sqltiming  select params0_.rule_id as rule6_1_, params0_.id as id1_, params0_.id as id18_0_, params0_.default_value
      as default2_18_0_, params0_.description as descript3_18_0_, params0_.name as name18_0_, params0_.rule_id
      as rule6_18_0_, params0_.param_type as param5_18_0_ from rules_parameters params0_ where params0_.rule_id=679
      {executed in 0 msec}