00:00
现在我们还是在这个包下边见吧,来右键啊,那这边我们叫做哎,加va class,咱们起个什么名呢?这回叫做time step,咱们因为要加时间戳对吧,Time step,然后呢,叫做in intercept回车,好,那还是同样的套路,我们需要去诶实现一个接口啊,Implements,呃,然后后边interceptin tr cer啊看找下边这个。啊啊,实践里边的相应的方法走。好,那下边呃,这个逻辑我们还是先实现一这个intercept的逻辑啊,啊,那这边我们要做的事是什么?是从日志当中找到时间窗,然后把时间窗放到咱们已问的head当中,对吧?啊,这个怎么去做呢?那首先咱们已问是不是得先拿到这条日志啊,对吧?首先先get body啊,Get body,然后ctrl out the way啊好拿到它,那接下来需要先给它转成一个啊杰森字符串是不是才能转成杰森对象啊,对吧?先来new一个string,那这个孩子是加long啊,不要导错包,然后把body放进来,然后后边呢,我们还是那个,诶,Char set.d那这个firm name firm name啊,然后呢,Utf吧,UTF,然后杠八啊,然后边诶,我们给它加一个这个。
01:16
Ctrl al v啊好,那我们拿到这个,呃,日志我们叫做log吧,啊叫log啊叫log好了,那这个咱们搞定之后呢,我们接来接着往下走啊,呃,相当于拿到日志了,那拿到日志我们现在要做的是什么?是从这个日志当中啊拿到时间串,但是这个日志现在就是一个字符串,咱们从字符串里边怎么去获取那个时间串呢?好像不大好获取对吧?那其实怎么去获取啊。啊,那这时候就得借助咱们这个杰森的解析工具了啊,就得借助咱们这个杰森的解析工具了啊,借助它啊,那咱们怎么去借助这个杰森解析工具呢。怎么接住啊?能记住啊,哎是不是咱们这比如说这有一个那个呃呃fast杰森对吧,这是不是就是一个典型的一个杰森解析工具啊,哎,他就能够,哎干什么呀,将我们比如说一个接森图串转成一个接森对象,转成接森对象之后,你就能怎么做了呀。
02:12
你就能够去获取你这个杰森对象当中任意的这个Y6了,想要哪个Y6给它传个K,它就能给你获取出来,哎,能实现一个这样的作用啊,啊这样的作用,那所以说那咱们这就使用它就可以了,当然这种杰森解工具有很多,Fast杰son啊,什么goesen等等都能用啊,这边咱们还用它就行了啊找到time step intercept,那接下来咱们需要先将字符串转成一个杰森的解析对象啊,那这个怎么解析呢?那这边呢,我们调用一个杰森这个object的方法,这样的一个类,这个类里边呢,有一个哎,PAR啊,有一个这样的一个哎命令啊,这样命令,这个命令就是啥,就是解析对吧?那咱们把谁扔进来呢?把前面这个诶,Log给它扔进来啊,Log扔进来,那扔进来之后,我们ctrl way,你看它返回的是一个,哎,什么对象,是不是一个object对象啊,对不对,Object对象,当然我们要获取的不应该是一个object呀,咱们要获取应该是一个啥才合适。
03:12
应该是一个阶算oble才合适对吧?哎,那所以说我们相当于是为什么呀,因为我们调用这个方法它不对,把这个方法反这个OB,那我们应该换一个方法,那换谁呢?来咱们来往下走,这里边呢,我们有part object这样的方法,那它返回知识啊,是不是就是接算object了呀,对不对,那咱们应该调用这个啊,那把这个log登进来,来之后呢,我们ctrl way返回一个杰森object对象,那返回它之后呢?那这时候我们就可以使用杰森object的对象去干什么呀?去哎,Get,诶里边的东西了。啊,去get里边的东西了,那get里边东西的时候,你会发现啊,咱们这里边有啥,呃,有普通的get啊,那它返回值是object还有什么,还有get string get string返回值就是啥,那就是随get big,那就是big啊,也就是说你get什么,你的返回值就是什么,对吧?那这个参数应该是啥呢。
04:06
就是你杰森对应的K值吧,啊,就是杰森对应的这个诶K值啊,是这样的啊,那咱们现在要获取的是啥?是不是那个时间串啊,对不对,那咱们的时间窗是什么类型,还是那个K是什么啊,咱们是不是可以去找一条日志看一下呀,对不对,就是不管咱们是启动日志还是那个公共还是那个页面日志,那我们的那个时间那个那个日志的结构里边是不是都有一个时间串啊对吧?那咱们打开看一下啊,CTRLV啊,你看咱们那个时间串是谁。哎,是不是这个TS,那启动日是不是也有一个这样的TS啊,那所者咱们要获取的,那恰好就是它啊,恰好就是它啊,那现在问题问大家一个问题啊,那我要现在想获取这个TS,那你说我,哎在这个里边应该传什么东西啊,在这个K应该传什么,比如说我get啊,就get string,比如说那这边应该传谁,是不是穿TS,那假如问一个问一个其他的问题啊,那假如我现在呢,想去获取这个杰森里边呢。
05:03
比如说item字段。那你应该穿啥?应该穿啥?啊对,是是不是得这样去做呀,先get一下配置对吧?但是你get配置应该是get什么东西,是不是也得是get杰森object才行啊,哎,Get object,然后呢,得到这个配置后边的杰森对象,然后再去get里边的item对吧?这这样去做才行啊行,那这个咱们了解一下就可以了,我们这刚应该就是最外层,所以直接get string ts就行了,那这样一来我们就得到了咱们这个所需的时间串了,对吧?哎,咱们就得到时间串了啊当然如果是这块咱们,呃正常的话应该怎么做,应该做一个做一个校验是比较好的,那万一你那个阶算当中没有TS这个字段呢?对吧?那你直接get它会报一个错误,肯定说找不到这个K对吧?那作为咱们这最好为了防止报错,应该怎么做一下呢?诶,咱们做一个判断啊,先if一下啊if if什么呀,先判断一下你的阶森object当中啊,是否包含这个K,哎,这是不是有一个contain k啊对不对,那把谁放进来,把TS算进来。
06:12
如果有那我再去get对吧?啊,但这样一来就哎不会出问题了啊,就不会出问题了啊好,那完了之后,接下来大家需要干什么呀?接下来我们需要将这个TS是不是放到咱们这个event的hi当中啊,对不对,那怎么放啊。那应该是event.get head,这个head是个什么东西?是不是就是一个map啊,就是一个map map是不是引用类型的呀,对不对,引用类型啊,引用类型,那引用类型那是不是相当于我这儿呃get到的,实际上反过去它那个引用对吧?那所以说我直接修改这个map,那改的是不是就是它的header啊,所以是可以直接修改的,那接下来咱们就直接哎往后走就行了啊,然后后边MAP0是咱们给它put就行了,那put那我们的K应该是啥。Time m哎,是个时间段,那后边咱们放啥?是不是应该是放咱们那个TS啊,对不对,那这样一来我们相当于就在已问当中放上了我们的这个,哎,时间串,那完了之后,接下来需要干什么?这个re一定得记得改一下啊,是不是需要把这个已问原封不动的给它返回去啊,你不要返回闹,返回闹是不是啥都没了呀?啊这个得注意行,那这个方法咱们就搞定了啊,接下来我们搞下一个,下一个就简单了,下一个直接把上边这个list是不是变例,然后调用上面的方法就行了呀,来list啊lid,然后点这回能不能用增强扩循环。
07:34
这回能用吧,为什么?因为我现在是不是不用剔除元素啊,那直接intercept调用这个。方法,把疑问的传进去,是不是就加上来呀,那最终这也要记得返回这个list啊,诶这就完事了啊很简单,那接下来把最后那个build咱们实现一下啊来public,然后呢select啊,然后呢class b implement,然后呢in.build啊那个括号。
08:03
走,那实现里面的方法。嗯。好,那return一个new啊,Time step intercept就可以了啊好,那搞定行,那这个方法呢,我们这个拦截器呢,我们现在就相当于是这个完成了啊,已经完成了啊好,那接下来我们需要再来重新这个打一个包啊,重新打一个包啊。来,我们走,你来,那接下来我们打开这个相对是这个life circle啊,我们点击这个package双击。诶,那这回打完包之后,它是不是还是呃,会出现两个包啊,啊,一个是带依赖的,一个是不带依赖的,对吧,那咱们用谁呀。还是用用那个带依赖的呗,是不是跟那个是一样的道理啊,对吧,所以说咱们先下来找到这个包啊,CTRLC,但是现在这个包里边它应该有啥呀,是不是也有我们前面那个拦截器啊啊,但是有就有,其实无所谓,咱们不用的对吧,那就没事啊CTRL位来替换一下这个当前的这个诶东西就行了,行拦截器咱们下子就完成了啊啊那视频。
我来说两句