我有一个网络应用程序,我正在尝试从slf4j + jdk14切换到slf4j + logback。我已经更新了pom.xml并在src/main/resources中添加了logback.xml。当我从 Netbeans 启动 Web 应用程序时,我在 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)
这是我的回头戏.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日志中有上面的错误,我不知道它是什么原因造成的,最重要的是,它是否可能是错误配置的线索。
感谢您的任何帮助再见尼古拉
似乎
您错过了将回日志访问依赖项添加到pom.xml文件中。
将以下依赖项添加到 pom.xml 文件中:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.0.13</version>
</dependency>