spring log配置遇到的小问题

今天用maven构建一个spring4+mybatis的项目遇到了一个小问题

配置log4j2.xml文件不起作用。

调查了一番发现slf4j的jar用错了。

修改前引用的包


    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
        <scope>runtime</scope>
    </dependency>

上面用的是jcl-voer-slf4j
用这个的时候log4j2.xml不起作用,只有log4j 1的配置方式起作用

后来改成

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
    </dependency>    
    <dependency> 
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
    

用的是log4j-over-slf4j
这回log4j2.xml起作用了
具体原因请参照下面的文章,非常感谢文章的作者,要不就是不知其所以然了。
spring项目slf4j

顺便说一下,用servlet3,log4j2在web.xml里边配置可以不写了
就是下面这个

  <context-param>   
        <param-name>log4jConfiguration</param-name>   
        <param-value>classpath:log4j2.xml</param-value>  
  </context-param>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容