一、引入相关依赖
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.11.0</version></dependency><!-- lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.18</version><scope>provided</scope></dependency>
二、resources目录下创建配置文件log4j2.xml
<?xml version="1.0" encoding="UTF-8"?><configuration status="ON"><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>
三、在类中使用
@Log4j2public class BaseTest {private String host;private String env;private Properties properties;public BaseTest() {log.debug("读取配置文件");InputStream stream = this.getClass().getClassLoader().getResourceAsStream("env.properties");properties = new Properties();try {properties.load(stream);} catch (IOException e) {log.error("配置文件读取失败");e.printStackTrace();}String env = properties.getProperty("environment");String host = properties.getProperty("api.host");this.host = host;this.env = env;}}
