[Tapestry5] tapestry5.1 怎么把log4j 更换为 logback

kingxsp 2009-10-22
tapestry5.1 怎么把log4j 更换为 logback,更换后就出错。
exception

javax.servlet.ServletException: PWC1243: Filter execution threw an exception

root cause

java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
kingxsp 2009-10-27
问题解决。解决方法:删除tapestry 5.1自带的slf4j-log4j12-1.5.2.jar和log4j-1.2.14.jar,添加logback-core-0.9.17.jar和logback-classic-0.9.17.jar,在WEB-INF\classes下加上logback.xml配置文件即可,slf4j原生支持logback。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/web.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>logs/web.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%-20(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern>
    </layout>
  </appender>

  <root level="WARN">
    <appender-ref ref="file" />
  </root>
</configuration>  
Linuxboy 2009-11-17
logback相对LOG4J有什么优势?
kingxsp 2009-11-24
可以搜一下《十个转移到LOGBack的理由》
Global site tag (gtag.js) - Google Analytics