创星网络[分享知识 传递快乐]

标题: Logback 替代 Log4j 应用于 Hibernate [打印本页]

作者: luinstein    时间: 2012-12-11 22:49
标题: Logback 替代 Log4j 应用于 Hibernate
Logback比Log4j 的优点网上介绍的很多,这里就不再赘述了。

其实配置很简单,只需要所有标有 Log4j%%.jar 的包从 classPath 中剔除,再 导入 logback-classic.jar 与 logback-core.jar 即可,当然还需要 slf4j.jar ,但Hibernate 天生依赖slf所以不用重复导入了。

在 src 路径下 建立 logback.xml (类似 log4j.properties的配置文件)
  1. <?xml version="1.0" encoding="UTF-8"?>

  2.         <!-- Reference Manual http://logback.qos.ch/manual/index.html -->

  3. <configuration>

  4.         <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
  5.                 <encoder charset="UTF-8"> <!-- encoder 可以指定字符集,对于中文输出有意义 -->
  6.                         <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
  7.                 </encoder>
  8.         </appender>

  9.         <appender name="RollingFile"
  10.                 class="ch.qos.logback.core.rolling.RollingFileAppender">

  11.                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  12.                         <level>TRACE</level>
  13.                 </filter>

  14.                 <!-- 可让每天产生一个日志文件,最多 10 个,自动回滚 -->
  15.                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  16.                         <fileNamePattern>E:/Log/Unmi-%d{yyyy-MM-dd}.log</fileNamePattern>
  17.                         <maxHistory>10</maxHistory>
  18.                 </rollingPolicy>

  19.                 <!-- 下面这段注释的代码可以在日志文件超过 5MB 时进行归档,并且归档文件后缀只要是 .zip 或 .gz 就会自动压缩日志归档 -->
  20.                 <!--
  21.                         file>d:/log/Unmi.log</file> <rollingPolicy
  22.                         class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
  23.                         <fileNamePattern>d:/log/Unmi.%i.log.zip</fileNamePattern>
  24.                         <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy>

  25.                         <triggeringPolicy
  26.                         class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  27.                         <maxFileSize>5MB</maxFileSize> </triggeringPolicy
  28.                 -->

  29.                 <encoder>
  30.                         <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
  31.                 </encoder>
  32.         </appender>

  33.         <!-- 输出到控制台和文件,可定义更多的 Appender -->

  34.         <root level="DEBUG">
  35.                 <appender-ref ref="stdout" />
  36.                 <appender-ref ref="RollingFile" />
  37.         </root>

  38.         <!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->

  39.         <logger name="org.hibernate" level="WARN" />
  40.         <logger name="org.springframework" level="WARN" />
  41.         <logger name="com.opensymphony" level="WARN" />
  42.         <logger name="org.apache" level="WARN" />

  43.         <!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
  44.         <logger name="org.hibernate.type.descriptor.sql.BasicBinder"
  45.                 level="TRACE" />
  46.         <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
  47.                 level="DEBUG" />
  48.         <logger name="org.hibernate.SQL" level="DEBUG" />
  49.         <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
  50.         <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />

  51. </configuration>
复制代码
from:http://go.cxweb.com.cn/qpx5s





欢迎光临 创星网络[分享知识 传递快乐] (http://bbs.cxweb.com.cn/) Powered by Discuz! X3