log4j2.xml文件配置介绍
spring boot整合log4j2的pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- 加上这个才能辨认到log4j2.yml文件 -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<!-- Async -->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.2</version>
</dependency>
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@RestController
public class testController {
private Logger logger = LogManager.getLogger(testController.class);
@GetMapping("/hello")
public String getFileName(){
String now = Calendar.getInstance().get(Calendar.MINUTE)+":"+Calendar.getInstance().get(Calendar.SECOND);
logger.info(now);
return now;
}
}
Configuration:
status: warn
Appenders:
Console: #输出到控制台
name: Console
target: SYSTEM_OUT
PatternLayout:
pattern: %highlight{%d [%t] %-5level: %msg%n%throwable}{FATAL=white, ERROR=red, WARN=blue, INFO=black,DEBUG=green, TRACE=blue}
Kafka:
name: Kafka
topic: log-test
Property:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%highlight{%d [%t] %-5level: %msg%n%throwable}{FATAL=white, ERROR=red, WARN=blue, INFO=black,DEBUG=green, TRACE=blue}" />
<!--JsonLayout locationInfo="true" properties="true"/-->
</Console>
<RandomAccessFile name="File" fileName="appfs.log" immediateFlush="false">
<JsonLayout/>
</RandomAccessFile>
<Kafka name="Kafka" topic="log-test" >
<!--JsonLayout/-->
<Property name="bootstrap.servers">10.4.56.102:9092</Property>
</Kafka>
<Async name="Async">
<AppenderRef ref="Kafka"/>
<AppenderRef ref="File"/>
<AppenderRef ref="Console"/>
</Async>
</appenders>
<loggers>
<Root level="info">
<AppenderRef ref="Async"/>
</Root>
</loggers>
</configuration>