Search code examples
javahibernateloggingormcatalina.out

Stop Hibernate SQL logs coming on catalina.out


I was making a log4j.xml for one of my projects in netbeans . Here is its contents :

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="file" value="${catalina.home}/logs/MyLogs.log" />
            <param name="DatePattern" value="'.'yyyy-MM-dd" />
            <param name="Threshold" value="INFO" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m #]%n" />
            </layout>
        </appender>

    <appender name="sqlLogs" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="file" value="${catalina.home}/logs/MySqlLogs.log" />
            <param name="DatePattern" value="'.'yyyy-MM-dd" />
            <param name="Threshold" value="TRACE" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
            </layout>
        </appender>    

    <root>
            <level value ="INFO" />    
            <appender-ref ref="FILE" />
    </root>

    <logger name="org.hibernate.SQL" additivity="false" >
            <level value="DEBUG" />
            <appender-ref ref="sqlLogs" />
    </logger>


</log4j:configuration>

Now i want sql logs to go only to MySqlLogs.log but they are appearing on both MySqlLogs.log and catalina.out . The format of logs in catalina.out is

Hibernate : select ....
Hibernate : insert into ....

Can anyone help me out on this please .


Solution

  • You can stop it, on your env shared properties.

    hibernate.show_sql=true