logback集成logstash实现日志远程采集

实现需求:在使用logback的spring项目中,每次使用log.info,log.warn或者log.error的时候自动把这条日志的基础信息和本机相关的信息发送到logstash并且使用logstash转存给Elasticsearch。

注意:本期为基础版本,旨在能实现基础功能,所有的参数均为文件写死,若实现动态参数的话,参考下一篇:

logback集成spring和nacos实现动态配置https://blog.csdn.net/qq_35429398/article/details/131516382?spm=1001.2014.3001.5501

一.引入logstash的pom依赖

        <!--logback集成logstash-->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>4.11</version>
        </dependency>

二.logback-spring.xml配置

//声明appender
<appender name="LOGSTASH"  class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    //这里设置logstash的ip地址和监听端口,不是logstash的启动服务端口,            
    //任意写一个就可以,但是需要logstash所在的服务器防火墙放行该端口
    <destination>10.8.10.60:9999</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
    </encoder>
</appender>


//在root标签中调用appender
<appender-ref ref="LOGSTASH"/>

上面的配置中,每当有调用log.xxx日志打印的时候,就会发送tcp请求到10.8.10.60的9999端口,下面我们开始配置logstash的监听配置。

三.logstash监听logback的日志发送请求

进入logstash的配置文件,配置logstash.conf文件

input {
  tcp {
    port => 9999
    codec => json_lines
  }
}

output {
  stdout{
       codec => json_lines 
    }

}

然后进入bin目录,执行./logstash -f logstash.conf即可启动logstash,每次logback打印日志之后,logstash就会将日志打印在控制台。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

却诚Salong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值