springboot集成elk日志

搭建elk请见我的另一篇博客

一、加入下面依赖包:

        <dependency>

           <groupId>net.logstash.logback</groupId>

           <artifactId>logstash-logback-encoder</artifactId>

            <version>5.1</version>

       </dependency>


二、在logback-spring.xml中加入下面配置

 

 <appender name="LOGSTASH"class="net.logstash.logback.appender.LogstashTcpSocketAppender">

       <destination>192.168.94.151:4567</destination>

       <!--<filterclass="ch.qos.logback.classic.filter.ThresholdFilter">-->

            <!--<level>info</level><!–写入logstash的日志级别–>-->

       <!--</filter>-->

       <encoder charset="UTF-8"class="net.logstash.logback.encoder.LogstashEncoder" >

            <!--"appname":"springboot21-log-elk" 的作用是指定创建索引的名字时用,并且在生成的文档中会多了这个字段

             在logstashindex中引入    index => "%{[appname]}-%{+YYYY.MM.dd}"-->

           <customFields>{"appname":"springboot21-log-elk"}</customFields>

       </encoder>

   </appender>

三、logstash配置文件修改成下面格式:

input输入改成tcp,host和port为springboot项目中配置的地址。

input {

   tcp { 

   ##host:port就是上面appender中的destination,这里其实把logstash作为服务,开启9601端口接收logback发出的消息 

       host => "192.168.94.151" 

       port => 4567

   #模式选择为server 

       mode => "server" 

       tags => ["tags"] 

 

   ##格式json 

       codec => json_lines        

   } 

 

}

 

output {

       elasticsearch {

       #ES地址

                hosts =>"192.168.94.151:9200"

       #指定索引名字,不适用默认的,用来区分各个项目

                index =>"%{[appname]}-%{+YYYY.MM.dd}"

       }

       stdout { codec => rubydebug}

}


四、写一个定时任务一直执行输出日志

 

/**

 * xuhaixing

 * 2018/5/25 13:43

 */

@Component

public class logTest {

   private Logger logger = LoggerFactory.getLogger(logTest.class);

 

   @Scheduled(fixedRate = 10000)

   public void logtest(){

 

       logger.trace("日志trace");

       logger.debug("日志debug");

       logger.info("日志info");

       logger.warn("日志warn");

       logger.error("日志error");

   }

}

 


五、打开kibana

    192.168.94.151:5601,创建箭头所指的索引,日志输出了

猜你喜欢

转载自blog.csdn.net/u012326462/article/details/80472512