首页 > 解决方案 > 如何使用 Spring Boot 处理服务异常?

问题描述

我有以下服务:

@Service
public class MyService {

  private static final Logger LOG = LoggerFactory.getLogger(MyService.class);
  private ObjectMapper objectMapper = new ObjectMapper();

  @JmsListener(destination = "queue")
  public void receiveMessage(String message) throws JMSException, IOException {
    LOG.info("Got message:  " + message);
    MyObject obj = objectMapper.readValue(message, MyObject.class);
    LOG.info("Object Name " + obj.getName());
  }
}

如果receiveMessage抛出错误,我想将此错误记录到日志文件中。如何使用 Spring Boot 执行此操作?

标签: springspring-bootloggingerror-handling

解决方案


试试这个

@Service
public class MyService {

  private static final Logger LOG = LoggerFactory.getLogger(MyService.class);
  private ObjectMapper objectMapper = new ObjectMapper();

  @JmsListener(destination = "queue")
  public void receiveMessage(String message) throws JMSException, IOException  {
    try{
        LOG.info("Got message:  " + message);
        MyObject obj = objectMapper.readValue(message, MyObject.class);
        LOG.info("Object Name " + obj.getName());
    }catch (JMSException |  IOException e){
      LOG.error(e.getMesage(),e);
      throw e;
    }
  }
}

推荐阅读