1.异常日志
1.日志格式
禁止在代码中使用 e.printStackTrace();方法,这会将日志打印在控制台。filebeat无法进行搜集。
日志统一打印到日志文件 :
- 正常日志:log.info(“……”)
- 告警日志:log.warn(“……..”)
- 错误日志:log.error(“…….”)
2.异常分类
异常要有明确的分类,如:
- BizException:业务异常
- 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:仓库不存在。�