1.异常日志

1.日志格式

禁止在代码中使用 e.printStackTrace();方法,这会将日志打印在控制台。filebeat无法进行搜集。

日志统一打印到日志文件 :

  1. 正常日志:log.info(“……”)
  2. 告警日志:log.warn(“……..”)
  3. 错误日志:log.error(“…….”)

2.异常分类

异常要有明确的分类,如:

  1. BizException:业务异常
  2. RedisConnectException:redis连接异常

3.BizException异常使用

BizException为自定义RuntimeException,包含一下属性字段:

  • Integer code code
  • String message 提示消息
  • String requestParam 请求参数
  • String traceId 链路
  • Boolean sentAlarmMessage 是否发送lark报警 true:发送 false:不发送

BizCodeEnum提供了常见的枚举类型,若符合可直接使用。例如: java if (Objects.isNull(systemRole)) { throw new BizException(BizCodeEnum.RECORD_NOT_EXIST); } # 4.异常码定义 通用异常采用全局定义方式,见BizCodeEnum枚举类。 系统内部异常,异常码统一采用系统编码(系统编码见配置文件)开头,方便快速定位异常系统来源。 properties #系统编码(123是样例) spring.application.id=123 例如:仓库不存在 :123001:仓库不存在。