java 将捕获的异常添加到数据库

来源:互联网 发布:ubuntu安装图形界面 编辑:程序博客网 时间:2024/04/29 19:49

将捕获的异常添加到数据库 未必是什么好事,

但是我还是这么做了


异常实体类

public class TException {
    private String eid;


    private String eResource;


    private Date eCreated;


    private byte[] eMsg;

}


mapper是逆向工具生成的,不展示了


service实现层

@Service("tExceptionService")
public class TExceptionServiceImpl implements TExceptionService {


@Autowired
private TExceptionMapper tExceptionMapper;


/**
* 插入异常
*/
@Override
public int txInsertException(TException tException) {


int count = tExceptionMapper.insertSelective(tException);
return count;
}

//此处是我封装的工具类
public String exUtil(HttpServletRequest request,
HttpServletResponse response,String pathString,String msgString) {
String eidString = UUIDGenerator.getUUID();
byte[] msgByte = msgString.getBytes();//字符串转换成byte数组
Date date = DateUtil1.getFormatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
TException tException = new TException();
tException.setEid(eidString);
tException.seteMsg(msgByte);
tException.seteCreated(date);
tException.seteResource(pathString);
this.txInsertException(tException);
return  "" ;
}
}


随便一个模块的controller层


运用我的工具类方法如下:

@SuppressWarnings("unused")
@RequestMapping("insertAddress")
@ResponseBody
public LBResult Address(UserAddress userAddress,
HttpServletRequest request,
HttpServletResponse response) {


try {
userAddressService.txInsertAddress(userAddress);
return LBResult.build(400, "插入成功");
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());

//获取要传入的方法具体路径
String pathString = request.getContextPath()+
request.getServletPath();

//传入异常信息
String msgString = ExceptionUtil.getStackTrace(e);
tExceptionService.exUtil(request, response, pathString,msgString);
return LBResult.build(500,"");
}
}


----------------------------------------------------------------------------------------------------结束的分割线---------------------------------------------------------------------------------------------

1 0
原创粉丝点击