java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > logback.xml不生效问题

基于logback.xml不生效问题的解决

作者:基础不扎实的计算机小白

这篇文章主要介绍了基于logback.xml不生效问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

logback.xml不生效问题

如果不确定logback.xml 不生效是否生效可以更改后面的root

把ALL改成OFF看是否还会打印日志,如果打印,证明配置没有生效

原因1

logback配置文件没有放在src目录。

如果不知道放在哪里就在主程序运行下列代码找到路径位置,在电脑中搜索改路径将配置文件放在该路径下:

// 获取classpath路径
            String s = Thread.currentThread().getContextClassLoader().getResource("").getPath();
            System.out.println("classpath => " + s );
// 获取classpath路径
            String path = 这个是你的主函数名.class.getResource("/").toString();
            System.out.println("classpath => " + path);

这样就可以了!

原因2

如果原因1不行,也确定了配置文件再src下,那可能就是你的配置文件命名有问题,可以将配置文件命名改为logback.xml或者logback-test.xml也行。

这样就OK咯。

logback.xml不能被加载,logback不能被执行,logback.xml 无法生效,slf4j日志样式输出失败

1. 原因

logback.xml 无法被加载, 尝试了好久还是失败,哎,最后新建工程竟然可以,所以说还是项目的问题;

原来项目依赖了两个slf4j.jar,是版本冲突了;

2. 查找原因

idea Terminal 输入: mvn dependency:tree

发现是com.baidu.aip 依赖了旧版本

mvn dependency:tree

3. 解决

<dependency>
      <groupId>com.baidu.aip</groupId>
      <artifactId>java-sdk</artifactId>
      <version>4.11.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-simple</artifactId>
        </exclusion>
      </exclusions>
</dependency>

4. 其他参考

多依赖过滤

<--多依赖过滤-->
<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase</artifactId>
    <version>0.94.17</version>
    <exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>

问题排查

1. 检查logback.xml 是否在resource目录下, 名字是否错误,后缀是否正确等;

2. 检查引用jar包版本是否匹配

3. 检查是否依赖过多slf4j.jar

4. 使用 mvn dependency:tree  查看maven依赖树

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文