maven配置文件
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8</version>
</dependency>
xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="info">
<appenders>
<!--这个输出控制台的配置 -->
<Console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
<!--日志的格式 -->
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t:%r][%-5level] %l - %msg%xEx%n" />
</Console>
<!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
<RollingFile name="RollingFile" fileName="./logs/info_otr.log" filePattern="logs/$${date:yyyy-MM}/info_otr-%d{yyyy-MM-dd}-%i.log.gz">
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t:%r][%-5level] %l - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
</RollingFile>
<RollingFile name="RollingFileError" fileName="./logs/error_otr.log" filePattern="logs/$${date:yyyy-MM}/error_otr-%d{yyyy-MM-dd}-%i.log.gz">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t:%r][%-5level] %l - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
</RollingFile>
<!-- <File name="ERROR" fileName="./logs/error.log">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t:%r][%-5level] %l - %msg%xEx%n" />
</File> -->
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<logger name="org.springframework" level="debug" additivity="false">
<appender-ref ref="Console" />
</logger>
<logger name="net.sf.jmimemagic" level="error" additivity="false">
<appender-ref ref="Console" />
</logger>
<logger name="org.mongodb.driver" level="error" additivity="false">
<appender-ref ref="Console" />
</logger>
<logger name="org.apache.commons.beanutils" level="error" additivity="false">
<appender-ref ref="Console" />
</logger>
<logger name="org.apache.zookeeper" level="error" additivity="false">
<appender-ref ref="Console" />
</logger>
<!--建立一个默认的root的logger -->
<root level="info">
<appender-ref ref="RollingFile" />
<appender-ref ref="RollingFileError" />
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>