springboot使用logback将日志发送到kafka

本文介绍了如何在SpringBoot项目中使用Logback将日志发送到Kafka,同时保持本地文件和控制台的日志记录。内容包括SpringBoot的版本、Kafka的安装与调试、Logback的配置、Kafka相关包的导入、自定义Logback Appender的实现以及测试步骤。在测试过程中,解决了由于主机名映射问题导致的运行错误,最终实现了日志的多渠道输出。
摘要由CSDN通过智能技术生成

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>

  <!-- 每天产生一个文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值