Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
怎么来控制输出的日志的格式。并且从日志里面提取出来我想要的一些信息。
整个的message是一个大的json格式字符串。
虽然是可以通过关键字搜索到。但是日志看起来并不舒服。
在我们的控制台,日志实际上是这样的。可以很清楚的看到日志的内容。现在混在了json里面。看起来不舒服,而且有些字段丢失掉了。
进程号就丢失了。
控制日志输出格式
以为内这里配置的是logstashEncoder,它就把我们整个的日志信息转成了json直接发出去了。
我们首先要把这块替换掉。自己定义了一个pattern
但是还是作为一个字符串传出去了。kibana里面看到的可能就是一个字符串。
想让kibana按照格式切分开。每一段作为kibana里面可选的字段。
拆分是由logstash来做的
找到logstash的配置文件
在这里有段注释,添加你自己的过滤器。
我们添加过滤器来做转换。把字符串切成几段。然后告诉kibana每一段代表什么意思
grok是logstash的一个插件。作用就是把我们的日志切开。把一个大的长的字段,切成好多小的字段。
match首先要告诉要切什么字段
我要切的这个字段就是这个message字段。默认情况下是作为message字段输出到kibana里面的
现在要做的就是把message这个长的字段切成很多的小段。再单独作为一个字段 输出出去。
在github上看下grok的表达式有哪些。
每一个partten其实就是一个正则表达式。
我们上面配置的TIMESTAMP_ISO8601对应的就是一个正则表达式。
做time的字段 ,然后重新输出出去。
GREEDYDATA表示什么都可以。
字段都加上log为了区分开
重启测试
重启docker因为配置文件变化了。
orderAPi也重启一下。这样就会以新的格式去logStash去推日志信息。注意这里改的日志LogStash的日志格式,控制台输出的日志格式还是原来的,
自定义的字段显示出来了,作为新的字段加入到这边的列表内。
这个时候再看到的日志 和我们在控制台看到的就差不多了
把线程着一列也加进来。
结束
最新文章
- my_strcpy()
- Quartz集群配置
- Json 基于jQuery+JSON的省市联动效果
- 获取技能的成功经验和关于C语言学习的调查 2015528
- [swustoj 764] 校门外的树 Plus Plus
- 读书时间《JavaScript高级程序设计》一:基础篇
- dojo/request
- 给RelativeLayout设置背景,无效果bug解决
- tableviewcell滑动显示多个按钮UITableViewRowAction(转载)
- simple_list_item_1 和simple_list_item_2有什么区别???
- Redux中间件组合方法
- Softmax函数模型介绍
- Java 计算两个日期相差月数、天数
- SQL 概述
- CAD绘制扶手5.6
- syslog系统日志、Windows事件日志监控
- urb传输的代码分析【转】
- DOM操作——JavaScript怎样添加、移除、移动、复制、创建和查找节点
- python——从datetime模块探索python的数据架构
- Objective C, erum 枚举类型