Java项目(非Web)整合lombok+slf4j1.7.x+log4j 2.x日志框架同时输出到文件和控制台
项目依赖
项目依赖的版本号如下:
1.18.2
1.7.36
2.17.2
项目的依赖包如下:
org.projectlombok
lombok
${lombok.version}
true
org.slf4j
slf4j-api
${slf4j.version}
org.apache.logging.log4j
log4j-slf4j-impl
${log4j.version}
org.apache.logging.log4j
log4j-core
${log4j.version}
org.apache.logging.log4j
log4j-api
${log4j.version}
参考文档
Log4j Runtime Dependencies
下图是 log4j-slf4j-impl 的依赖树:
-
虽然依赖树中已经包含了 log4j-api 的依赖,但是在尝试不指明版本的情况下,引用了 2.13.x 版本而非 2.17.2 版本,还因此报出 NoSuchMethodError;
-
但是 log4j-core 依赖的 scope 是 runtime,所以我们在项目中引用它。
初始化log4j 2.x
创建文件 src/main/resources/log4j2.xml
,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
%d %p %c{1.} [%t] %m%n
参考更多 Log4j 2.x Appenders