最近使用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