springboot向elk写日志实现过程

 更新时间:2019年10月22日 10:48:11   作者:张占岭  
这篇文章主要介绍了springboot向elk写日志实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

springboot里连接elk里的logstash,然后写指定index索引的日志,而之后使用kibana去查询和分析日志,使用elasticsearch去保存日志。

添加引用

implementation 'net.logstash.logback:logstash-logback-encoder:5.3'

添加配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
  <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  <property name="LOG_HOME" value="./logs" />
  <!-- 控制台输出 -->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n</pattern>
    </encoder>
  </appender>

  <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <param name="Encoding" value="UTF-8"/>
    <destination>127.0.0.1:5000</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
      <customFields>{"appname":"elkDemo"}</customFields>
    </encoder>
  </appender>
  <!-- 日志输出级别 -->
  <root level="INFO">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="logstash" />
  </root>

</configuration>

指定配置

server.port=81
logging.config=classpath:logback-spring.xml

logstash配置索引

input {
  tcp {
    port => 5000
    codec => "json"

  }
}
## Add your filters / logstash plugins configuration here
output {
  elasticsearch {
    hosts => "elasticsearch:9200"
    user => "elastic"
    password => "changeme"
    index => "%{[appname]}"
  }
}

kibana里建立索引

通过kiban菜单去建立索引:Management>Index patterns>Create index pattern,这里会显示可用的索引名称。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java线程中的ThreadLocal类解读

    Java线程中的ThreadLocal类解读

    这篇文章主要介绍了Java线程中的ThreadLocal类解读,ThreadLocal是一个泛型类,作用是实现线程隔离,ThreadLocal类型的变量,在每个线程中都会对应一个具体对象,对象类型需要在声明ThreadLocal变量时指定,需要的朋友可以参考下
    2023-11-11
  • 关于log4j2的异步日志输出方式

    关于log4j2的异步日志输出方式

    这篇文章主要介绍了关于log4j2的异步日志输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java BufferedWriter BufferedReader 源码分析

    Java BufferedWriter BufferedReader 源码分析

    本文是关于Java BufferedWriter ,BufferedReader 简介、分析源码 对Java IO 流深入了解,希望看到的同学对你有所帮助
    2016-07-07
  • 解决IDEA JDK9没有module-info.java的问题

    解决IDEA JDK9没有module-info.java的问题

    这篇文章主要介绍了解决IDEA JDK9没有module-info.java的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 在Spring中利用@Order注解对bean和依赖进行排序

    在Spring中利用@Order注解对bean和依赖进行排序

    在Spring框架中,@Order是一个经常被忽视但非常重要的注解,在项目开发中,当我们需要维护bean的特定顺序或者存在许多相同类型的bean时,这个注解就发挥了作用,这篇文章讲的就是如何利用@Order注解对bean和依赖进行排序,需要的朋友可以参考下
    2023-11-11
  • Java实现自定义中文排序的方法机注意事项

    Java实现自定义中文排序的方法机注意事项

    在Java中,中文排序通常涉及到使用Collator类来处理字符串的比较,确保根据汉字的拼音顺序进行排序,本文给大家介绍了Java实现自定义中文排序的方法机注意事项,并有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-10-10
  • MybatisPlus中的删除和逻辑删除及区别介绍

    MybatisPlus中的删除和逻辑删除及区别介绍

    这篇文章主要介绍了MybatisPlus中的删除和逻辑删除的相关知识,删除又分为逻辑删除和物理删除,那么它们有什么区别呢?在本文给大家详细介绍,感兴趣的朋友跟随小编一起看看吧
    2020-08-08
  • java:java.lang.ExceptionInInitializerError报错解决过程

    java:java.lang.ExceptionInInitializerError报错解决过程

    这篇文章主要给大家介绍了关于java:java.lang.ExceptionInInitializerError报错的解决过程,java.lang.ExceptionInInitializerError 是一个异常,表示在初始化一个类的静态变量或静态块时发生了错误,需要的朋友可以参考下
    2023-10-10
  • JavaMail实现带附件的邮件发送

    JavaMail实现带附件的邮件发送

    这篇文章主要为大家详细介绍了JavaMail实现带附件的邮件发送,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Java list与set中contains()方法效率案例详解

    Java list与set中contains()方法效率案例详解

    这篇文章主要介绍了Java list与set中contains()方法效率案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论