我可以在Web浏览器中访问该控制器,但是在控制台日志中看不到其映射消息。通常在spring boot应用启动时,eclipse控制台应该打印出映射的控制器和访问URL,为什么我看不到它?
我已经将logging.level.org.springframework.web=DEBUG
添加到了application.properties文件中,但是没有帮助。
更新:
这是我的pom.xml
文件:
<modelVersion>4.0.0</modelVersion>
<groupId>com.yp</groupId>
<artifactId>BootTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>BootTest</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
The snippet of console log when app starts
应用启动时,有什么方法可以显示映射的控制器信息吗?
答案 0 :(得分:1)
如Andy Wilkinson所述,已经进行了许多大修,尤其是在测井方面。 commit删除了日志。
如果希望查看此信息,可以将日志记录级别更改为 TRACE ,而不必回退到以前的版本
logging.level.org.springframework.web: TRACE
答案 1 :(得分:0)
只需将此-Ddebug
添加到eclipse VM参数中,详细的调试日志就会开始打印。
答案 2 :(得分:0)
就像安迪·威尔金森(Andy Wilkinson)的评论帖子所说,我使用的是Spring Boot 2.1,当我将Spring Boot版本更改为较旧的版本时,不会再发生此问题。
答案 3 :(得分:0)
请查看Spring Boot 2.1 Release Notes#logging-refinements
Spring Framework 5.1在处理Web应用程序(Spring MVC或Spring WebFlux)时重新访问了调试日志输出。如果您尝试调试应用程序,并且想要还原Spring Boot 2.0样式日志记录,则应将以下内容添加到application.properties:
logging.level.web=debug
您可能还希望将
spring.http.log-request-details
设置为true以记录实际的请求详细信息。默认情况下,此属性为false,因为它可能会暴露敏感信息。
答案 4 :(得分:0)
如果只想查看控制器映射日志。尝试将TRACE设置为RequestMappingHandlerMapping,以防止日志过多。
logging.level.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=TRACE
#spring boot 2.2.4
答案 5 :(得分:0)
我喜欢这个答案,我认为这就是我想要的。 只要在应用程序运行时看看那里有什么api。
logging.level.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=TRACE
然后您会看到这样的
c.u.c.s.c.SmsAuthController:
{POST /api/sms/send-sms-auth-code}: sendSmsAuthCode(SmsCodeParam,HttpServletRequest)
2568 2020-10-08 22:09:41,227 TRACE [restartedMain] o.s.w.s.m.m.a.RequestMappingHandlerMapping/detectHandlerMethods
c.u.c.t.TestController:
{POST /api/test/api-retired-warning}: testApiRetiredWithWarning()
{POST /api/test/api-retired-error}: testApiRetiredWithError()
{POST /api/test/api-test-only}: testApiTestOnly()、
2569 2020-10-08 22:09:41,228 TRACE [restartedMain] o.s.w.s.m.m.a
答案 6 :(得分:0)
如果您想在 Eclipse 中查看信息日志,只需在属性中添加以下行 bootstrap.yml
logging:
level:
org.springframework: INFO
答案 7 :(得分:0)
要获得更多日志记录,请在引导程序/应用程序属性文件中使用 logging.level.root=DEBUG