七叶笔记 » java编程 » 实战分布式医疗挂号通用模块统一返回结果异常日志处理

实战分布式医疗挂号通用模块统一返回结果异常日志处理

文章导读

本系列文章介绍从0开始搭建一个基于分布式的医疗挂号系统。本次四篇文章完成了医院设置微服务模块的后端接口,为了方便开发,对接口的返回结果、全局异常、全局日志进行了统一处理。 同时,为了方便进行访问测试,还整合了Swagger2工具,这些通用的模块中,除了全局日志被放在医院设置微服务模块的配置资源中,其余都统一被抽取在common模块中。具体实现可参考下面文章:

医院设置微服务 | 模块搭建

医院设置微服务 | 接口开发

通用模块 | 整合Swagger2

项目已开源至  https://github.com/Guoqianliang/yygh_parent

一、统一返回结果

在实际开发中,是一个后端团队一起开发,每个人做不同的模块,开发不同的接口,最终进行调用进而显示。因此可以把所有返回结果做一个统一的约定。让所有的接口都返回相同的数据格式,这样利于前端的显示与解析。

上图这一操作需要通过统一返回结果类 和统一返回结果状态信息类 来实现。

1.统一返回结果类

2.统一返回状态信息类

二、统一异常处理

spring boot 默认情况下会将异常映射到 /error 进行异常处理,这样的提示十分不友好,下面使用自定义异常处理,可以提供更友好的展示。

1.自定义异常类

2.全局异常处理

下面代码中两个方法的@ExceptionHandler注解,分别传入系统异常Exception类和自定义异常YyghException类,当出现系统异常时会运行系统的Exception方法,当出现自定义异常时会运行YyghException方法。

使用自定义异常时,不会自动调用,需要手动抛出异常,举例如下:

三、统一日志处理

日志记录器(Logger)的行为是分等级的,常用的4个级别如下:

DEBUG < INFO < WARN < ERROR

级别越高,打印的信息越多。默认情况下,springboot从控制台打印出来的日志级别只有INFO及以上级别,通过:logging.level.root=debug可以修改日志级别。

下面给出一个日志模块,通过此模板可以将日志持久化到本地文件:

以上就是实战分布式医疗挂号通用模块统一返回结果异常日志处理的详细内容,更多关于分布式医疗挂号统一返回结果异常日志处理的资料请关注七叶笔记其它相关文章!

相关文章