日志那些事| 青训营笔记

86 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第10天,今天我学习了如何使用Kitex框架与Hertz框架的日志。

为什么需要日志系统

没有日志系统的服务就是一个盲盒,你不知道里面在发生什么,一旦给出错误的反馈也很难溯源,而简单的日志打印虽然可以满足有日志查看的目的,但是依然无法快速的查找到需要的日志,难以从海量的日志中寻找到一点点蛛丝马迹。这个时候就需要一个功能完备的日志系统来帮助。

什么是好的日志系统

我觉得好的日志系统应该是首先能够快速帮助开发定位问题,其次是能够帮助改善用户体验的日志系统。那么日志的集中管理、分类、检索、存储缺一不可,成熟的公司往往都会有自己的完善的日志系统。

ELK做日志系统

开源产品中如果让我选一个作为日志系统,我一定选择ELK,主要有几个原因,首先是ES是一个文档型存储的搜索引擎,搜索功能可以为日志系统插上翅膀,Kibana作为ES的管理平台还带有搭建报表的能力,可以对日志数据进行监控,方便观察问题,logstash则解决了日志的统一收集问题。三件套的配套使用可以作为一个成熟的日志系统,唯一的缺点就是资源占用的比较大,需要大量的机器,如果财力不够就很难发挥作用。

最后说一下Hertz和Kitex

使用这俩框架时候就发现,其中默认的Hertz和Kitex的日志库都采用的是原生log库,功能比较欠缺,但是应付一下小型项目是完全足够的,通常的做法是讲日志定向到一个文件中,然后通过filebeat收集发送到logstash再统一交给ES进行存储。