Eclipse Spring Boot控制台日志不打印映射的控制器信息

时间:2018-11-04 14:27:28

标签: java spring spring-boot

我可以在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

应用启动时,有什么方法可以显示映射的控制器信息吗?

8 个答案:

答案 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