-
Notifications
You must be signed in to change notification settings - Fork 934
Closed
Description
是这样的,我们有一些安全规范,message不能直接打印在日志里,加密打印会有额外的开销和功能,想能不能直接失败后的异常能够不打印message。
for our security requirement application can‘t logging the message because message contain sensitive data.
can we fix log.error("syncSend failed. destination:{}, message:{} ", destination, message); when catch Exception ?
public SendResult syncSend(String destination, Message<?> message, long timeout, int delayLevel) {
if (Objects.isNull(message) || Objects.isNull(message.getPayload())) {
log.error("syncSend failed. destination:{}, message is null ", destination);
throw new IllegalArgumentException("`message` and `message.payload` cannot be null");
}
try {
long now = System.currentTimeMillis();
org.apache.rocketmq.common.message.Message rocketMsg = this.createRocketMqMessage(destination, message);
if (delayLevel > 0) {
rocketMsg.setDelayTimeLevel(delayLevel);
}
SendResult sendResult = producer.send(rocketMsg, timeout);
long costTime = System.currentTimeMillis() - now;
if (log.isDebugEnabled()) {
log.debug("send message cost: {} ms, msgId:{}", costTime, sendResult.getMsgId());
}
return sendResult;
} catch (Exception e) {
log.error("syncSend failed. destination:{}, message:{} ", destination, message);
throw new MessagingException(e.getMessage(), e);
}
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels