Hibernate sql output in Server Log and Console
devq Apr 17, 2007 9:23 AMHi,
I'm using hibernate and trying to output the sql and any relevant comments to the console and server log. I'm using a log4j.xml file to configure log4j (pasted below).
Initially I was using the log4j.properties file and including the statement:
log4j.logger.org.hibernate.type=debug
This was working fine locally giving me the following output:
Hibernate: update USER_PROFILE set USER_ID=? where id=?
2007-04-17 14:04:34,927 DEBUG [org.hibernate.type.LongType] - <binding '1000003' to parameter: 1>
2007-04-17 14:04:34,927 DEBUG [org.hibernate.type.LongType] - <binding '88900' to parameter: 2>
Now, however I want to just use log4j.xml and was hoping that I could get the same output using:
<category name="org.hibernate.type"> <priority value="DEBUG"/> </category>
Unfortunately this has not worked for me. and I have lost the portion underlined above.
Is it possible to get this output working on the server?
Thanks in advance!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!-- ================================= -->
<!-- Preserve messages in a local file -->
<!-- ================================= -->
<!--*****************************************************************************-->
<!-- MY LOG FILE APPENDER-->
<appender name="My_Log" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/my_log.log"/>
<param name="Append" value="true"/>
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<!--****************************************************************************-->
<!-- SERVER LOG FILE APPENDER-->
<!-- A time/date based rolling appender -->
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="false"/>
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<!-- Rollover at the top of each hour
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
-->
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<!-- ============================== -->
<!-- Append messages to the console -->
<!-- ============================== -->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<!-- ================ -->
<!-- Limit categories -->
<!-- ================ -->
<!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
<category name="org.apache">
<priority value="INFO"/>
</category>
<!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
<category name="org.jboss.serial">
<priority value="INFO"/>
</category>
<!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
<category name="org.jgroups">
<priority value="WARN"/>
</category>
<!-- Limit the jacorb category to WARN as its INFO is verbose -->
<category name="jacorb">
<priority value="WARN"/>
</category>
<!-- Limit the JSR77 categories -->
<category name="org.jboss.management">
<priority value="INFO"/>
</category>
<!-- Log the actual Hibernate Query Language (HQL) expression -->
<category name="org.hibernate.impl.SessionImpl">
<priority value="DEBUG">
</priority>
</category>
<!-- Log the substitution parameters in the HQL expression -->
<category name="org.hibernate.engine.QueryParameters">
<priority value="DEBUG">
</priority>
</category>
<category name="org.hibernate">
<priority value="DEBUG"/>
</category>
<!--****************************************************-->
<!-- Set up my logger -->
<logger name="myLogger">
<level value="info"/>
<appender-ref ref="My_Log"/>
</logger>
<!--****************************************************-->
<!-- ======================= -->
<!-- Setup the Root category -->
<!-- ======================= -->
<root>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>