0

我试过了,我想我在互联网上找到的所有信息,都没有结果。我想关闭休眠日志记录。

我的 log4j.properties:

log4j.logger.org.hibernate = INFO
log4j.logger.org.hibernate.SQL=INFO, SQL_APPENDER
log4j.additivity.org.hibernate.SQL=false
log4j.rootLogger=INFO

我的 log4.xml:

    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
                     xmlns:log4j='http://jakarta.apache.org/log4j/'>
<logger name="org.hibernate">
  <level value="info"/> 
</logger>
   <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n"/>
      </layout>
   </appender>

   <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
      <param name="append" value="false"/>
      <param name="file" value="out/learning.log"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      </layout>
   </appender>

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

</log4j:configuration>

在我的 hibernate.cfg.xml 里面:

    <property name="hibernate.show_sql">false</property>
    <property name="hibernate.generate_statistics">false</property>
    <property name="hibernate.use_sql_comments">false</property>

此刻,我不知道我还能做些什么来阻止控制台上那些令人不安的消息。

在此先感谢您的帮助。

4

2 回答 2

0

尝试对每个附加程序使用OFF级别可能会有所帮助

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html

于 2013-11-11T07:56:22.073 回答
0

我鼓励您阅读SLF4J 手册,您的类路径中应该只有 1 个 Binding jar。

从您的类路径中删除slf4-simple-1.4.2.jar,它可能会停止使用 log4j。

slf4j-simple-1.7.5.jar

Binding for Simple implementation,将所有事件输出到 System.err。只打印级别 INFO 和更高级别的消息。此绑定在小型应用程序的上下文中可能很有用。

于 2013-11-11T13:54:15.267 回答