我有一个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日志中有上面的错误,我不知道是什么导致它,最重要的是,它是否是错误配置的线索。
感谢您的帮助 再见 尼古拉
答案 0 :(得分:0)
好像你错过了将logback-access依赖项添加到你的pom.xml文件中。
将以下依赖项添加到pom.xml文件中:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.0.13</version>
</dependency>