事件背景:
我的log4j和self4j按照網上的配置,配置成功了,但是報錯如下:
讓我很是郁悶,於是找了一大圈。。。。。。。。
解決方案:
總結來說就是:log4j.properties和logback.xml這兩個放的文件(這兩個方案源自於網上)
1、配置文件放到 classpath 目錄即:target/classes
2、設置 resources 目錄為 Resource roots
根據 Maven 標准目錄結構, main 和 test 目錄下都會有 resources 目錄:
src/main/java Application/Library sources (java源代碼文件,會自動編譯到classes文件夾下)
src/main/resources Application/Library resources (資源庫,會自動編譯到classes文件夾下)
src/test/java Test sources (測試java源代碼文件)
src/test/resources Test resources (測試需要的資源庫)
簡單總結
log4j.properties放到src/test/resources下
logback.xml放到src/main/resources下
------------------------------------------------------分割線------------------------------------------------------------------------
以上並沒有解決我的問題,因為我的配置放的位置並沒有錯誤
於是,我又再次查詢slf4j+logback配置和logback.groovy配置方式相關資料
結果發現是因為引入的依賴jar的問題,pom中引用這幾個版本的jar完美解決問題
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.5.6</version> <type>jar</type> </dependency> <dependency> <groupId>slf4j-simple</groupId> <artifactId>slf4j-simple</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> <scope>provided</scope> </dependency>
再次運行代碼結果如下:
到此結束,成功修復這個問題!