java webapp logback teefilter classnotfound exception

时间:2013-12-23 13:14:58

标签: tomcat6 logback

我有一个webapp,我试图从slf4j + jdk14切换到slf4j + logback。 我更新了pom.xml并在src / main / resources中添加了logback.xml。 当我从Netbeans启动webapp时,我在tomcat 6日志中看到了这个错误:

    java.lang.ClassNotFoundException: ch.qos.logback.access.servlet.TeeFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)

这是我的logback.xml

<configuration>
    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource     class="ch.qos.logback.core.db.DriverManagerConnectionSource">
            <driverClass>oracle.jdbc.OracleDriver</driverClass>
            <url>jdbc:oracle:thin:@mercurio:1521:ass10</url>
            <user>iltest</user>
            <password>iltest</password>
        </connectionSource>
        <sqlDialect>ch.qos.logback.core.db.dialect.OracleDialect</sqlDialect>
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="it.infoline.jobtime.LogbackLayout" />
        </encoder>
    </appender>

    <logger name="OuvertureWeb" level="INFO"/>
    <logger name="jdbc" level="OFF" />
    <logger name="jdbc.sqlonly" level="OFF" />

    <root level="INFO">
        <appender-ref ref="DB" />
    </root>
</configuration>

请注意,日志写在数据库中,所以似乎整个解决方案都有效。 但是我在tomcat日志中有上面的错误,我不知道是什么导致它,最重要的是,它是否是错误配置的线索。

感谢您的帮助 再见 尼古拉

1 个答案:

答案 0 :(得分:0)

好像你错过了将logback-access依赖项添加到你的pom.xml文件中。

将以下依赖项添加到pom.xml文件中:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-access</artifactId>
    <version>1.0.13</version>
</dependency>