springboot向elk寫日誌

来源:https://www.cnblogs.com/lori/archive/2019/09/13/11517334.html
-Advertisement-
Play Games

springboot里連接elk里的logstash,然後寫指定index索引的日誌,而之後使用kibana去查詢和分析日誌,使用elasticsearch去保存日誌。 添加引用 添加配置 指定配置 logstash配置索引 kibana里建立索引 通過kiban菜單去建立索引:Management ...


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,這裡會顯示可用的索引名稱。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 進程和線程 進程是程式運行的實例。一個進程裡面可以包含多個線程,因此同一進程下的多個線程之間可以共用線程內的所有資源,它是操作系統動態運行的基本單元;每一個線程是進程下的一個實例,可以動態調度和獨立運行,由於線程和進程有很多類似的特點,因此,線程又被稱為輕量級的進程。線程的運行在進程之下,進程的存在 ...
  • 今日所學: /* 2019.08.19開始學習,此為補檔。 */ 1.繼承補充: ①不要僅為了獲取其他類中某個功能而去繼承,而是要有所屬關係。 ②Super關鍵字: a.代表父類對象的引用,且main方法裡面不能有關鍵字。 b.子類的構造方法必須調用父類的構造方法。 c.super()函數只能放在構 ...
  • 今日所學: /* 2019.08.19開始學習,此為補檔。 */ 1.Date工具類: 2.Object類:是所有類的父類。 打開類的所有信息:ctrl+o 3.instanceof關鍵字:判斷一個對象是否屬於一個類。 格式:對象 instanceof 類 > 返回布爾類型 4.匿名內部類:new一 ...
  • _確保高效發展進程的建議_ 很久以前,J2EE,特別是應用程式伺服器被認為過於臃腫和“重量級”。對於開發人員來說,使用此技術開發應用程式會非常繁瑣且令人沮喪。但是,由於 J2EE 框架的名稱已更改為Java EE,因此該假設不再適用。 Java EE 與其他企業框架相比區別在哪以及框架 輕量級 的標 ...
  • go、go、go,大寶貝,我們要go啦! 從go語言基礎到go語言框架,全方面用輕鬆簡潔的語言述說go語言的強大。 16年你錯過了python,如今19年,你還想錯過go嗎??? ...
  • 什麼是二叉堆? 二叉堆是一種特殊的堆。具有如下的特性: 1. 具有完全二叉樹的特性。 2. 堆中的任何一個父節點的值都大於等於它左右孩子節點的值(最大堆),或者都小於等於它左右孩子節點的值(最小堆)。 這個為最大堆: 這個為最小堆: 我們把二叉堆的根節點稱之為堆頂。根據二叉堆的特性,堆頂要嘛是整個堆 ...
  • SpringMVC 視圖解析器 InternalResourceViewResolver 視圖解析器流程 底層源碼分析 ...
  • from django.shortcuts import render,redirect # Create your views here. import datetime def login(request): print("COOKIES",request.COOKIES) print("SES... ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...