Spring boot 当没有给出跟踪参数时,Spring Boot 2包括Stacktrace

Spring boot 当没有给出跟踪参数时,Spring Boot 2包括Stacktrace,spring-boot,Spring Boot,从Spring Boot 1.5.12升级到2.0.1后,即使在URL中未指定跟踪参数跟踪或错误地使用无效值指定跟踪参数跟踪,系统也会在出现错误时包含stacktrace 我已经配置了 server.error.include stacktrace=在跟踪参数上 在我的application.properties中 当我调用我的应用程序时,会抛出一个错误,通过系统返回一个已填充的跟踪 当我通过它呼叫它时,它不会 当我通过它调用它时,它也会使用 弹簧靴1的情况并非如此。在这里,只有当一个指定的tr

从Spring Boot 1.5.12升级到2.0.1后,即使在URL中未指定跟踪参数跟踪或错误地使用无效值指定跟踪参数跟踪,系统也会在出现错误时包含stacktrace

我已经配置了

server.error.include stacktrace=在跟踪参数上

在我的application.properties中

当我调用我的应用程序时,会抛出一个错误,通过系统返回一个已填充的跟踪

当我通过它呼叫它时,它不会

当我通过它调用它时,它也会使用

弹簧靴1的情况并非如此。在这里,只有当一个指定的trace=true时,系统才包含堆栈跟踪,这是预期的行为

此行为是否已从版本1更改为版本2


再见,Michael这是springboot2.0.3中的代码

protected boolean getTraceParameter(HttpServletRequest request) {
    String parameter = request.getParameter("trace");
    return !"false".equalsIgnoreCase(parameter);
}
在springboot2.1中

protected boolean getTraceParameter(HttpServletRequest request) {
    String parameter = request.getParameter("trace");
    if (parameter == null) {
        return false;
    }
    return !"false".equalsIgnoreCase(parameter);
}

将springboot版本升级到2.1以解决问题

这并不能解决问题,因为在这种情况下,trace=hugo也会以这种方式进行跟踪。我希望只有trace=true才能启用跟踪,这也是系统在Spring 1下的工作方式,即返回true.equalsIgnoreCaseparameter;将兼容。为什么getTraceParameter设置为false时返回true!?!?