最近突然被通知要使用Graylog来管理项目日志,不过Graylog日志中心不是我搭的,我只是做将项目接入日志中心的工作,之前没用过这个工具,第一次弄记录一下。
SpringBoot项目配置修改:
首先是pom文件添加依赖
<dependency>
<groupId>de.siegmar</groupId>
<artifactId>logback-gelf</artifactId>
<version>3.0.0</version>
</dependency>
然后是logback-spring.xml添加配置
<!-- 获取yml中graylog.ip -->
<springProperty scope="context" name="graylogIp" source="graylog.ip" />
<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
<graylogHost>${graylogIp}</graylogHost>
<graylogPort>12201</graylogPort>
<encoder class="de.siegmar.logbackgelf.GelfEncoder">
<includeRawMessage>false</includeRawMessage>
<includeMarker>true</includeMarker>
<includeMdcData>true</includeMdcData>
<includeCallerData>false</includeCallerData>
<includeRootCauseData>false</includeRootCauseData>
<includeLevelName>true</includeLevelName>
<shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%nopex</pattern>
</shortPatternLayout>
<fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%n</pattern>
</fullPatternLayout>
<staticField>key_name:value</staticField>
<staticField>os_arch:${os.arch}</staticField>
<staticField>os_name:${os.name}</staticField>
<staticField>os_version:${os.version}</staticField>
</encoder>
</appender>
- 此时请注意第五行的 ${graylogIp},即Graylog的ip,此处的写法是为了让其值根据开发线测试线的不同配置而不同;
- 还有倒数第六行的 <staticField>key_name:value</staticField> 也要注意,这里的值是自己定义的,但是等会儿要对应到Graylog日志管理平台的配置。
当然后面的这个也不要忘记加入
<root level="INFO">
<appender-ref ref="GELF"/>
</root>
接下来就是Graylog日志管理平台的设置了。
Graylog日志管理工具的登录界面:
[题外话:第一眼看到这个背景图,总感觉在哪儿看过,一下想不起来,这就让我的好奇心起来了,然后搜了下Graylog登录界面背景图,无果,遂用在线识图,总算知道了,1969年7月16日,阿波罗11号发射的飞行控制中心,ok,舒坦了,哈哈。]
登录后首页界面:
首先,新建Input
基本用默认的就行
然后新建Stream,名字和描述随意填写
设置Stream rules,这里的Field和value对应前面在logback-spring.xml里的配置内容<staticField>key_name:value</staticField>,保存后启动这个Stream,再启动项目就行了。
日志出来了。
点此欢迎光临我的个人网站【一几文星球】
微信公众号,欢迎关注,一起学习。