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,这里会显示可用的索引名称。

posted @   张占岭  阅读(2736)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2017-09-13 基础才是重中之重~再说软件设计的各大原则
2012-09-13 提高CSS对浏览器的兼容性!不是看你代码有多强,是看你对问题的态度
2012-09-13 Orchard中的安装与卸载(请不要把orchard官网的东西直接翻译出来,会英文不算牛B,要说真正有意义的东西)
2011-09-13 说说标准服务器架构(WWW+Image/CSS/JS+File+DB)
2011-09-13 使用Json比用string返回数据更友好,也更面向对象一些
点击右上角即可分享
微信分享提示