整合log4j2中踩的坑
①簡單java項目-Maven項目-Springboot項目
1,簡單java項目中lib的添加是關鍵,不然找不到jar包。
2,maven項目中注意看是不是缺少Maven Dependencies,依賴前面寫了<dependencyManagement>這個標籤,查資料後發覺這個標籤的作用只是聲明依賴,並不實現依賴的引入,因此,沒有jar包的引入,maven項目就不會顯示Maven Dependencies文件。
3,springboot默認使用logback,所以log4j2.xml默認是不起作用的。
②加載哪個xml?
springboot中默認使用的是logback,自定義的xml配置文件如果沒有找到的話,springboot也會以默認的配置內容輸出log。所以在測試xml配置時最好能手動的指定xml文件。以明確用的就是你自定義的這個。
1,log4j的第一版和第二版的配置文件,即log4j2.xml和log4j.xml文件名字不同,配置內容也不同,不能兼容。如果2用了1的名字,也會找不到文件。
2,手動指定xml文件的兩種方式。
2.1,class裏面代碼指定
static { System.setProperty("logback.configurationFile", "D:\\workspace-spring-tool-suite-4-4.12.0.RELEASE\\demo-MDC-Log\\src\\main\\resources\\logback-spring.xml");}
2.2 ,啓動時命令指定
-Dlogback.configurationFile=D:\workspace-spring-tool-suite-4-4.12.0.RELEASE\demo-MDC-Log\src\main\resources\logback-spring.xml