SpringBoot通过log4j2将日志写到kafka
SpringBoot通过log4j2将日志写到kafka
1.导入坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
1.1,排除spring-boot-starter-web里的log包
<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>
2.编写资源文件
2.1在resources目录下编写log4j-spring-kafka.xml
<Configuration status="warn" monitorInterval="30" strict="true" schema="Log4J-V2.2.xsd">
<Appenders>
<!-- 输出到控制台 -->
<Console name="Console" target="SYSTEM_OUT">
<!-- 需要记录的级别 -->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n" />
</Console>
<!-- 输出错误日志到Kafka topic 你自己的topic,bootstrap.servers 对应你自己的ip和端口-->
<Kafka name="KAFKA" topic="productscanlog">
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n" />
<Property name="bootstrap.servers">192.168.30.137:9092</Property>
</Kafka>
</Appenders>
<Loggers>
<Root level="info"> <!-- 全局配置 -->
<AppenderRef ref="Console" />
<AppenderRef ref="KAFKA"/>
</Root>
<Logger name="com.yyj" level="trace" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="KAFKA"/>
</Logger>
<Logger name="org.apache.kafka" level="INFO" /> <!-- avoid recursive logging -->
</Loggers>
</Configuration>
2.2 在application.properties资源文件增加logging.config=classpath:log4j-spring-kafka.xml
logging.config=classpath:log4j-spring-kafka.xml
3.在你代码增加日志打印就可以显示在kafka服务器的消费界面。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
logger.info("kafka日志收集的日志。。。。。。。。");
logger.error("kafka日志收集的日志。。。。。。。。error");
打印效果如图
2020-04-15 16:00:38,607:INFO http-nio-8080-exec-3 (HelloController.java:26) - kafka日志收集的日志。。。。。。。。
2020-04-15 16:00:38,609:ERROR http-nio-8080-exec-3 (HelloController.java:27) - kafka日志收集的日志。。。。。。。。error
还没有评论,来说两句吧...