添加异常日志记录方法

This commit is contained in:
2023-08-18 13:41:06 +08:00
parent 717ab75837
commit 955a11858e

View File

@@ -53,7 +53,7 @@ public abstract class EnhanceConsumerMessageHandler<T extends BaseMessage> {
* @param message 待处理消息 * @param message 待处理消息
*/ */
protected void handleMaxRetriesExceeded(T message) { protected void handleMaxRetriesExceeded(T message) {
saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_RETRY); saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_RETRY,null);
} }
/** /**
@@ -103,9 +103,16 @@ public abstract class EnhanceConsumerMessageHandler<T extends BaseMessage> {
* 发生异常时,进行错误信息入库保存 * 发生异常时,进行错误信息入库保存
* 默认没有实现类子类可以实现该方法调用feign接口进行入库保存 * 默认没有实现类子类可以实现该方法调用feign接口进行入库保存
*/ */
protected void saveExceptionMsgLog(T message, String identity) { protected void saveExceptionMsgLog(T message, String identity,Exception exception) {
} }
/**
* 消费成功
*/
protected void consumeSuccess(T message) {}
/** /**
* 使用模板模式构建消息消费框架,可自由扩展或删减 * 使用模板模式构建消息消费框架,可自由扩展或删减
*/ */
@@ -124,10 +131,11 @@ public abstract class EnhanceConsumerMessageHandler<T extends BaseMessage> {
try { try {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
handleMessage(message); handleMessage(message);
consumeSuccess(message);
long costTime = System.currentTimeMillis() - now; long costTime = System.currentTimeMillis() - now;
log.info("消息{}消费成功,耗时[{}ms]", message.getKey(), costTime); log.info("消息{}消费成功,耗时[{}ms]", message.getKey(), costTime);
} catch (Exception e) { } catch (Exception e) {
saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_SINGLE); saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_SINGLE,e);
// 是捕获异常还是抛出,由子类决定 // 是捕获异常还是抛出,由子类决定
if (throwException()) { if (throwException()) {
//抛出异常由DefaultMessageListenerConcurrently类处理 //抛出异常由DefaultMessageListenerConcurrently类处理