1.maven依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
2.log4j2.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- 全局设置:全局输出级别、启用哪些Appenders -->
<Loggers>
<Root level="debug">
<!-- 输出到文件,有两个文件设置,会自动生成所有设置过的文件,但没启用的文件不会向其中写内容 -->
<!--<AppenderRef ref="log" />-->
<!--<AppenderRef ref="error" />-->
<!-- 输出到控制台 -->
<AppenderRef ref="Console"/>
</Root>
</Loggers>
<!-- 定义所有的appender,包括控制器和文件等设置,可以设置多个 -->
<Appenders>
<!-- 控制台配置:输出级别、输出格式 -->
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<!-- 文件设置:输出路径、内容追加/覆盖、输出级别、输出格式 -->
<File name="log" fileName="logs/log4j2.txt">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
</File>
<File name="error" fileName="logs/error.txt">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
</File>
</Appenders>
</Configuration>