Skip to content

BFF 日志模块

应用的日志非常重要,当线上服务出现问题时,大多数情况下是需要排查日志进行问题定位的。

因为服务上线前,会经过 QA 的几轮测试回归,基本不会出现显而易见的问题,出现的都是没有被测试覆盖到的未知错误。

如果没有日志,排查问题会异常艰难。

业务日志有那些

BFF 框架在很多情况下会起到中间层的作用,承接服务上游、下游的链路。

这个过程需要不断接收前端的 HTTP 请求、处理请求等操作,如果在这个过程中出现了什么问题,第一时间肯定是需要排查哪个请求出错了,出了什么问题。

按照这个思路,就需要 access ( 记录请求 ) 日志、抛出异常时的 error ( 错误 ) 日志。

很多情况下业务需要打印自己的逻辑日志,那么也需要一个 application ( 应用 ) 日志。

access 日志

access 日志就是记录请求的日志。

在实际的业务场景中,尤其是 C 端业务,很容易遭受网络攻击,一旦发现有异常,就可以分析 access 日志,根据请求头等特征进行一些禁止操作,避免业务受损。

error 日志

error 日志主要记录一些业务内部的异常,如果线上出现异常,分析 error 日志会更容易排查问题。

application 日志

application 日志主要方便业务打印一些自己的逻辑日志,比如在某个容易出错的地方打印相关日志,能够更方便排查问题。

日志模块实现

log4js