温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
嗨,同学们,最后呢,我们跟大家来聊一下这个N的错误日志,呃,恩,错误日志它的这个官方文档在这儿啊,它在Co modu下,它并没有单独的独立的模块啊,也是因为这个,嗯,它比较简单吧,啊,就是在这个错误日志这一块,它不像。那我们刚才给大家演示的这个access log,它可以去根据一些规则,或者是根据一些这个,呃,这个这个这个格式,我们可以去自定义这个很多这种这种这种格式啊,这个aog呢,它没有。Log呢,一共就俩参数,一个是传入到这个file啊,我把它记在哪,另外一个就是level,呃,日志的错误等级。这和我们自己写代码一样,我们的这个源码里边记录的这种错误的,呃,等级,那么根据相应的你源码里记录的等级呢,他去帮我们去帮我们去分析和记录,一共有这么几个等级,Debug info notice warning arrow等等等等啊这么几个等级,然后等级是从左到右依依次来排开的话,是严重程度越来越严重。
01:09
啊,最不严重也就是呃这种呃,Debug级别的,他会把所有的这种调试信息全部都给我们打印到日志里啊,嗯,然后这个最严重的就是arrow级别的出现了这种严重错误,它的默认呢,就是这个arow级别,大家在这儿可以看到它这个默认值啊。呃,这是它的这个错误日志,其实这个没什么特别好说的,这种错误日志呢,同样也可以去收集和分析,呃,但是它不能自定义格式啊,只能按照他自己这个格式,然后然后我们去去匹配它的这个这个这个格式,然后再去做分析,比如说我们去导入到我们的大数据系统或者数据库里,你得再去处理一下这个格式啊。然后最后有一点要跟大家来聊的就是日志的分割,这日志的分割呢,也是呃日常当中呢,比较经常操作的一个环节啊,但是如果要是有这种呃,直接抓取日志的这种面向流的这种方式,比如说我可以把呃。
02:08
NG日志呢,嗯,通过一些工具,比如data X啊,或者一些什么其他这种工具啊,什么fair等等,直接把它给呃拉走,拉到这个erk里或者卡夫卡里,直接拉走去消费,然后消费完成之后呢,我们我们这个呃时不时的去清空一下这个日志,其实也就可以了,但如果不是的话呢,这日志呢,其实有必要去分隔一下的,在这呢,一共有两种方式,给大家简单介绍一下,这第一种方式呢,就是我们通过脚本啊去把这个日志给它,呃,按照。嗯,日期给他去切割一下,比如说按天或者按小时,或者是按周啊,每隔一天我去重新生成一个新的这个日志文件啊,这个重新生成新的日志文件的规则呢,呃。我们可以去自己去定义,自己去写脚本啊,这里边有一个重要的一点就是你需要去通知N,这因为你要挪动这个日志文件嘛啊,需要去通知NGS,重新加载一下配置啊,其实就是像NG主进程去发送一个信号量就可以了,然后就重新load一下,你把这个呃日志文件给清空了,然后第二个呢,就是这个呃,Log rotate,这是SS内置的一个日志管理工具,在迷你版里边都有啊,不需要自己去。
03:23
额外的单单独的去装了啊,它呢,就不像我们去写脚本了啊,它里边已经把脚本应该做的事儿呢,全部都帮我们去完成了啊,我们我们需要去做一些配置就可以了,配置一下这个日志风格的方式啊,一些这个呃,具体的规则,然后这里边需要自定义一下去通知这个N呃,这个worker进程的。这这这这么一步啊,需要去向去发送信号,然后告诉他去,嗯。重新去加载日志啊,这这两个呢,都是比较常见的,也都比较常用,如果你有需要去做日志风格的话呢,呃,可以再去深入去了解和研究一下啊。
我来说两句