SpringMVC日志管理(自定义异常及自定义注解)

时间:2024-04-23 10:04:18

近期为了规范公司老旧项目的日志,主要也是为了便于日后错误排查以及加强对业务系统的监控,准备对原有的日志输出进行简单的改造。

解决思路

1、通过自定义异常来将可能出现的问题分为两大类,业务类及系统类。同时,所有异常向上抛出至controller层,集中处理。

2、通过自定义注解Log在所有的业务处理方法(control)上标注方法的用途及所属模块,用于监控所有业务的运行情况。

3、通过Spring的AOP,将注解log设置为切面,一旦调用相关方法时,即可将相关信息写入日志中。

解决方案

1、自定义异常

SpringMVC日志管理(自定义异常及自定义注解)

BaseException的主要属性如下所示:

    private String module;  //所属模块
private String code; //错误码
private Object[] args; //错误码对应的参数
private String defaultMessage; //错误消息

2、自定义注解及AOP实现

参考:Spring AOP 基于注解实现日志记录+自定义注解

问题及解决过程

1、自定义注解不生效

Spring3.2新注解@ControllerAdvice

代码参考

https://gitee.com/y_project/RuoYi