logback 日志不输出


最近合公司项目后,发现logback日志不输出,最终发现是因为依赖冲突slf4j-log4j12原因

在使用logback作为日志输出的时候,会遇到日志并没有按照logback.xml中的配置进行输出,出现这一问题的原因,有如下可能。

原因1:与log4j的jar包冲突
采用logback作为日志输出时,需要包含如下依赖:

<dependency>
    <groupId>ch.qos.logbackgroupId>
    <artifactId>logback-coreartifactId>
    <version>1.1.2version>
dependency>

<dependency>
    <groupId>ch.qos.logbackgroupId>
    <artifactId>logback-classicartifactId>
    <version>1.1.2version>
dependency>

<dependency>
    <groupId>org.slf4jgroupId>
    <artifactId>slf4j-apiartifactId>
    <version>1.7.6version>
dependency>

不能包含如下依赖,如果加入该依赖,会导致日志都输出到log4j的日志文件中

<dependency>
    <groupId>org.slf4jgroupId>
    <artifactId>slf4j-log4j12artifactId>
    <version>1.7.25version>
dependency>

原因2:多个logback.xml文件
由于引入的第三方包中带有logback.xml文件,而导致logback有多份配置,而出现日志输出不正常的情况。
这种情况下,可以通过控制台输出日志,查看logback.xml文件都来自哪些,然后看是否能够排除掉,如果无法排除,则可以通过java启动时,指定logback.xml的文件路径来解决
java -Dlogback.configurationFile=./conf/logback.xml

https://blog.csdn.net/qq_21653785/article/details/73165776