首页 > 代码库 > slf4j日志只输出到控制台,没输出到日志文件

slf4j日志只输出到控制台,没输出到日志文件

最近使用SLF4J遇到了一个比较头疼的坑,日志输出到控制台没有问题,但是始终没有输出到日志文件。无论怎麽修改日志配置,始终是老样子。

有一种绝望,是各种百度、google却还是解决不了问题。。直到我在启动项目的时候发现了这样的提示,

    技术分享

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/Java/tp-wechat/webapps/wechat-hy/WEB-INF/lib/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/Java/tp-wechat/webapps/wechat-hy/WEB-INF/lib/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

嗯。。之前是发现了但是没重视,因为没发现warning or error,老夫就略过了,结果就悲剧了。还是自己太天真了,明明特意设置了控制台颜色

    技术分享

后面重视了,百度了一下,然后再进入http://www.slf4j.org/codes.html#multiple_bindings这里查看,上面明确给出了解决方案

    技术分享

看来就是酱了,SLF4J只能绑定一个唯一的日志框架,这里提示绑定了两个,并且列出了位置,只要排除掉一个即可,可以这样找到logback的引用

打开pom.xml

    技术分享

这里我排除了logback

    技术分享

重新启动项目发现问题,good,完美解决,not found

    技术分享

 

slf4j日志只输出到控制台,没输出到日志文件