springboot使用logback将日志发送到kafka
- spring-boot-starter-parent 版本:1.5.8.RELEASE
- kafka版本:2.2.1
- 实现功能:logback将日志发送到kafka,并且打印在本地文件和控制台中
kafka的安装调试
kafka和zookeeper安装略。
kafka2.2.1和之前的部分版本命令略有差异,此处列出部分kafka命令。
查看topic列表:
cd /usr/local/kafka_2.11-2.2.1/bin/
./kafka-topics.sh --zookeeper localhost:2181 --list
topic创建:
./kafka-topics.sh --zookeeper localhost:2181 --create --topic topic名称 --partitions 1 --replication-factor 1
发送消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic zuul_kafka_log_topic
消费消息:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic zuul_kafka_log_topic
安装好kafka并启动后,首先创建队列;
然后启动console消息消费命令,最后启动console发送消息命令开始输入消息;
我们可以看到消费命令的console上会显示出发送的消息,此时说明kafka搭建完成并可以正常运行:
logback 配置
首先保证springboot和logback集成无误,并且能打印出日志到console和日志文件中:
<?xml version="1.0" encoding="utf-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<property name="LOG_HOME" value="/tmp/logs/mservice-zuul"/>
<!-- Console 输出设置 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<!-- 显示毫秒数
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
<pattern>%d{HH:mm:ss} %-5level [%thread] %logger - %msg%n</pattern>
</encoder>
</appender>
<!-- 每天产生一个文