log4j不打印日志问题的解决方案

周末调试生产问题时发现log4j的日志总是不输出,最终查到原因为缺少包:slf4j-log4j12-1.7.25.jar

梳理下使用log4j必需的jar包

  • commons-logging-1.2.jar
  • log4j-1.2.17.jar
  • slf4j-log4j12-1.7.25.jar
  • slf4j-api-1.7.25.jar

依赖这几个包,加上对应的配置文件,就没问题了!

 

还有个地方,如果用了日志分割,需要修改Tomcat 的 conf/context.xml 文件,将<Context>改为<Context swallowOutput="true">

增加 swallowOutput="true" 的属性配置,只有这样才能完全的把tomcat的stdout给接管过来。这一步很关键 在官网及网上找了许多资料都没有提及。

 

另一种可能的解决方法为在mybatis-config.xml配置文件中增加以下logImpl setting配置:

<configuration>
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
</configuration>

上一篇:【SpringBoot】整合日志框架


下一篇:springboot日志开启SLF4J