slf4j+log4j2在tomcat8 下无日志输出



 evn: linux  &&  intellij  &&  openjdk 1.7 && tomcat 8

maven 配置:


 <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0.1</version>
</dependency>

此套配置在 tomcat 6,7 下能在终端输出,但是在tomcat8下终端无输出.

做过尝试

  • 删除jcl-over-slf4j-1.7.6.jar ,但未能在tomcat8 下解决问题
  • 从tomcat8的catalina.properties中的jarsToSkip属性 下移除 log4j .jar (slf4j .jar) ,仍未能解决

平台差异

此问题在我的linux才出现,window,mac测试没有这个问题

版本差异

同样的项目,在tomcat 7 下终端也有输出,且跟踪信息对比如下:


 // tomcat 7
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).
log4j:WARN Please initialize the log4j system properly.

// tomcat 8
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.

tomcat log4j

無差別破壞 10 years, 2 months ago

是不是权限问题啊

但丁的红风衣 answered 10 years, 2 months ago

Your Answer