CREATE TABLE `callback_log` (
`id` bigint NOT NULL AUTO_INCREMENT,
`callback_form` longtext CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 'callback参数',
`exception_message` longtext COMMENT '异常消息',
`exception_printstacktrace` longtext CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '异常追溯',
`exception_cause` longtext COMMENT '异常原因',
`exception_time` varchar(100) DEFAULT NULL COMMENT '异常时间',
`check_deal` varchar(10) DEFAULT NULL COMMENT '是否处理过0处理过,其他未处理',
PRIMARY KEY (`id`),
KEY `callback_log_exception_time_IDX` (`exception_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("callback_log")
public class CallbackLog {
private Long id;
private String callbackForm;
private String exceptionMessage;
private String exceptionPrintstacktrace;
private String exceptionCause;
private String exceptionTime;
private String checkDeal;
}
try{
//正常执行
}catch(Exception e){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sdf.format(new Date());
CallbackLog callbackLog = new CallbackLog();
callbackLog.setCallbackForm(com.alibaba.fastjson.JSONObject.toJSONString(callbackForm, true));
callbackLog.setExceptionMessage(e.getMessage());
callbackLog.setExceptionPrintstacktrace(com.alibaba.fastjson.JSONObject.toJSONString(e.getStackTrace(), true));
callbackLog.setExceptionCause(com.alibaba.fastjson.JSONObject.toJSONString(e.getCause(), true));
callbackLog.setExceptionTime(now);
callbackLogService.save(callbackLog);
}
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>