当我在独立的tomcat容器中启动我的webapp时,我看到Flyway记录正常(如果找到,它会使用公共日志记录,否则如Axel下面)。Tomcat maven插件 - 无法加载类“org.slf4j.impl.StaticLoggerBinder”
然而,当我使用的Apache Tomcat Maven插件(tomcat7 - Maven的插件),我看到以下内容:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
没有看中这里。下面是完整的代码:
public void contextInitialized(ServletContextEvent sce) {
Flyway flyway = new Flyway();
flyway.setDataSource(...);
flyway.migrate();
}
<listener>
<listener-class>com.blah.conf.FlywayListener</listener-class>
</listener>
我使用logback-classic进行日志记录。 Jersey和Guice都记录得很好(虽然我删除了它们以缩小问题的范围)。
我这里还有唯一的记录相关的罐子我在classpath中看到:
logback-classic-1.0.13
logback-core-1.0.13
slf4j-api-1.7.5
这里的依赖关系树SLF4J:
mvn dependency:tree -Dverbose -Dincludes=org.slf4j
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ hello ---
[INFO] com.hello:hello:war:1.0-SNAPSHOT
[INFO] \- ch.qos.logback:logback-classic:jar:1.0.13:compile
[INFO] \- org.slf4j:slf4j-api:jar:1.7.5:compile
所以我更新的问题是,为什么是有区别使用Tomcat的Maven插件与独立?我在临时部署的“目标”文件夹中看不到任何其他jar。
更新: 添加jcl-over-slf4j后,问题消失了。
添加jcl-over-slf4j后,问题消失了。 – nogridbag