我正在将 vom Spring5 迁移到 SpringBoot3。 不幸的是(除了 Spring Security 6 等大量其他问题),Spring Boot 不会记录问题和堆栈跟踪,而是保持安静。
例如:
为了研究一下,为什么嵌入式 tomcat 只传递空结果,而日志中没有任何信息(这不是一个笑话)我试图找出控制器是否已实例化 - 并在构造函数,因此如果 spring 尝试这样做,它会记录一个错误:
@Controller
public class RegisterController {
public RegisterController() {
throw new RuntimeException("wtf");
}
我希望找到一个 stracktrace,但 spring 说的是
2024-07-07 14:04:34,475 WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'registerController' defined in file [/.../login/controller/RegisterController.class]: Failed to instantiate [....login.controller.RegisterController]: Constructor threw exception
应用程序属性:
logging.level.org.springframework=TRACE
无论在生产系统的(可能)紧急情况下隐藏最重要信息的意图是什么(恕我直言,绝对值得怀疑):我们如何记录 stackstrace?
请确保,在任何子目录或类路径中的任何其他位置都没有任何类型的日志记录配置文件,即使它们是为特殊的 logback 模式(如 lockback-test.xml)命名的 - 尽管它们不应该被使用:它们将.