Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 如何在Spring Boot中使用ControllerAdvice获得完整的堆栈跟踪?_Spring Boot_Controller Advice - Fatal编程技术网

Spring boot 如何在Spring Boot中使用ControllerAdvice获得完整的堆栈跟踪?

Spring boot 如何在Spring Boot中使用ControllerAdvice获得完整的堆栈跟踪?,spring-boot,controller-advice,Spring Boot,Controller Advice,我使用@ControllerAdvice进行休息服务。但是,我无法获得完整的堆栈跟踪并定义异常发生的位置 我的控制员建议: @ControllerAdvice public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler { @ExceptionHandler(value = {Exception.class}) protected ResponseE

我使用@ControllerAdvice进行休息服务。但是,我无法获得完整的堆栈跟踪并定义异常发生的位置

我的控制员建议:

@ControllerAdvice
public class RestResponseEntityExceptionHandler
        extends ResponseEntityExceptionHandler {

    @ExceptionHandler(value = {Exception.class})
    protected ResponseEntity<Object> handleException(
            Exception ex, WebRequest request) {
        String bodyOfResponse = "Internal error";

        System.out.println(ex.toString());

        return handleExceptionInternal(ex, bodyOfResponse,
                new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request);

    }
}
@ControllerAdvice
公共类ResponseEntityExceptionHandler
扩展ResponseEntityExceptionHandler{
@ExceptionHandler(值={Exception.class})
保护响应句柄异常(
例外情况(例如,WebRequest请求){
字符串bodyOfResponse=“内部错误”;
System.out.println(例如toString());
返回手柄内部(例如,响应主体,
新建HttpHeaders(),HttpStatus.INTERNAL_SERVER_错误,请求);
}
}
如果发生异常,我只收到:

警告72490---[nio-5054-exec-2] .m.m.a.例外处理程序例外解析程序:已解决 [java.lang.NullPointerException]


如何获得完整的堆栈跟踪?

您可以替换
System.out.println(例如toString())带有
例如printStackTrace()
以获取异常发生的位置及其原因

如果您使用的是log,那么就使用
log.info(“{}”,ex)