网上看到的文章都是比较一、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