一、简述
我们项目中既要使用lombok,又要使用log4j2时,使用日志将会更简单。
二、解决
1、引入依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
2、在resources中引入log4j2.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="5 MB"/>
</RollingFile>
</appenders>
<loggers>
<root level="DEBUG">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFile"/>
</root>
</loggers>
</configuration>
3、代码中引入@Log4j2后即可使用log这个变量。
import lombok.extern.log4j.Log4j2;
@Log4j2
public class ApplicationMain {
public static void main(String[] args) {
log.info("hello world.");
}
}
4.xml高级配置,比如登陆成功的放入另一个文件里
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="5 MB"/>
</RollingFile>
<RollingFile name="SUCCESS_FILE" fileName="logs/success.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="5 MB"/>
</RollingFile>
</appenders>
<loggers>
<root level="DEBUG">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFile"/>
</root>
<logger name="success" additivity="false">
<appender-ref ref="SUCCESS_FILE"/>
</logger>
</loggers>
</configuration>
本文介绍了如何在项目中同时集成Lombok和Log4j2,以简化日志记录。首先,引入了log4j2和lombok的依赖。接着,配置了log4j2.xml文件,设置了控制台和滚动文件的日志输出,并定义了日志级别。然后,通过在类上使用@Log4j2注解,可以直接在代码中使用log变量进行日志打印。最后,展示了如何通过XML配置将不同类型的日志(如成功日志)写入不同的文件。

2665

被折叠的 条评论
为什么被折叠?



