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依赖

        
        
            net.logstash.logback
            logstash-logback-encoder
            4.11
        

二.logback-spring.xml配置

//声明appender

    //这里设置logstash的ip地址和监听端口,不是logstash的启动服务端口,            
    //任意写一个就可以,但是需要logstash所在的服务器防火墙放行该端口
    10.8.10.60:9999
    
    



//在root标签中调用appender

上面的配置中,每当有调用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就会将日志打印在控制台。

你可能感兴趣的:(logback,java)