網上看到的文章都是比較一、2年前的了,恰好本身整合了下,來分享下經驗。
目前所瞭解到的springboot應用是經過所使用的不一樣的日誌框架來推送數據到graylog裏面,經常使用的有logback,log4j2等。
參考了網上文章對各個日誌框架的分析,這裏最終採用的是springboot自帶的logback。
至於logback的優點能夠參考以下大神的文章,本文再也不贅述:git
https://blog.csdn.net/xudan10...
Graylog 是與 ELK 能夠相提並論的一款集中式日誌管理方案,支持數據收集、檢索、可視化 Dashboard。部署起來不像ELK那麼重,在docker環境的話憑藉一個docker-compose.yml便可完成部署啓動運行,很是方便。
用的時候只須要在目標鏡像建立容器時添加參數便可。
對graylog想進一步瞭解的童鞋能夠參考以下連接:github
https://www.jianshu.com/p/25e...
https://hub.docker.com/r/gray...
利用IDEA或者eclipse建立一個springboot項目,能夠不選擇任何依賴,直接下一步下一步完成便可。spring
本文所使用的IDE是IDEA,springboot版本爲springboot 2.0.3,若是各位童鞋在按照教程走完還發送不了日誌到graylog的話,能夠更換爲使用本文所使用的springboot版本再試docker
本文所使用的依賴是國外的大神所做,最近都一直有更新,算是還比較新的,附上依賴的github地址:https://github.com/osiegmar/l... springboot
在pom.xml的dependency加入的以下依賴:app
<dependency> <groupId>de.siegmar</groupId> <artifactId>logback-gelf</artifactId> <version>1.1.0</version> </dependency>
在resources目錄下(application.properties同級目錄)添加logback.xml,內容以下:框架
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--發送GELF UDP 到 graylog--> <!--使用第三方組件 https://github.com/osiegmar/logback-gelf --> <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender"> <graylogHost>192.168.1.217</graylogHost> <graylogPort>12201</graylogPort> <!--如下爲可選配置--> <maxChunkSize>508</maxChunkSize> <useCompression>true</useCompression> <layout class="de.siegmar.logbackgelf.GelfLayout"> <originHost>logback-graylog</originHost> <includeRawMessage>false</includeRawMessage> <includeMarker>true</includeMarker> <includeMdcData>true</includeMdcData> <includeCallerData>false</includeCallerData> <includeRootCauseData>false</includeRootCauseData> <includeLevelName>false</includeLevelName> <shortPatternLayout class="ch.qos.logback.classic.PatternLayout"> <pattern>%m%nopex</pattern> </shortPatternLayout> <fullPatternLayout class="ch.qos.logback.classic.PatternLayout"> <pattern>%m</pattern> </fullPatternLayout> <staticField>app_name:backend</staticField> <staticField>os_arch:${os.arch}</staticField> <staticField>os_name:${os.name}</staticField> <staticField>os_version:${os.version}</staticField> </layout> </appender> <root level="INFO"> <appender-ref ref="GELF" /> <appender-ref ref="STDOUT"/> </root> </configuration>
其中graylogHost須要改成你本身的 graylog IP地址。其餘參數能夠在該依賴的github上仔細瞭解。eclipse
啓動項目以後,便可在graylog控制檯中看到項目啓動時打印的日誌.net