Я могу получить доступ к контроллеру в веб-браузере, но не вижу сообщения о его сопоставлении в журнале консоли. Обычно, когда запускается приложение для весенней загрузки, консоль 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>
Фрагмент журнала консоли при запуске приложения
Есть ли способ показать информацию о сопоставленном контроллере при запуске приложения?
Вы используете Spring Boot 2.1? Он использует Spring Framework 5.1, который включает в себя довольно серьезную переработку журналирования Spring MVC.




Просто добавьте этот -Ddebug в аргументы виртуальной машины eclipse, и начнется печать подробных журналов отладки.
Как сказано в сообщении Энди Уилкинсона, я использовал весеннюю загрузку 2.1, когда я меняю версию весенней загрузки на более старую, эта проблема больше не возникает.
Как упоминалось в Энди Уилкинсон, было проведено много капитального ремонта, особенно с точки зрения ведения журнала. совершить удалил журнал.
Если вы хотите увидеть эту информацию, вы можете изменить уровень ведения журнала на СЛЕД вместо возврата к предыдущей версии.
logging.level.org.springframework.web: TRACE
Вы также можете использовать: logging.level.web = TRACE, как описано здесь: stackoverflow.com/a/53739836/6792588
пожалуйста, просмотрите Примечания к выпуску Spring Boot 2.1
Spring Framework 5.1 revisited the debug logging output while working on web applications (Spring MVC or Spring WebFlux). If you are trying to debug an application and you want to restore Spring Boot 2.0 style logging you should add the following to your application.properties:
logging.level.web=debug
You might also want to set
spring.http.log-request-detailsto true to log actual request details. By default this property is false as it can potentially expose sensitive information.
Это было (потенциально полезно для меня), я не знал, как получить эти данные журнала. Я использую Bootstrap 4.0, используя mvn из командной строки, чтобы вызвать экземпляр сервера. Я обнаружил, что мне также нужно добавить: -Dspring-boot.run.arguments = - logging.level. <Ваши собственные пакеты>, spring.http.log-request-details = <Level> в мою командную строку ... не уверен, что это решит мою конкретную проблему ??
Я могу ошибаться насчет = <level> после log.request.details, в противном случае, похоже, не было много вывода ??
Для более подробного ведения журнала используйте logging.level.root = DEBUG.
Если только хотите увидеть журнал сопоставления контроллера. Попробуйте установить для TRACE значение RequestMappingHandlerMapping, чтобы избежать слишком большого объема журнала.
logging.level.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=TRACE
# Spring boot 2.2.4
Мне нравится этот ответ, и я думаю, что это «то, что я хочу». Просто посмотрите, что есть apis во время работы приложения.
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
Если вы хотите видеть информационные журналы в eclipse, просто добавьте следующую строку в свойства bootstrap.yml
logging:
level:
org.springframework: INFO
Для большего количества журналов используйте logging.level.root=DEBUG в файле свойств начальной загрузки / приложения.
Можете ли вы обновить код? А какие записи вы хотели бы видеть в консоли? Spring boot не регистрирует URL-адреса сопоставления с контроллерами, если вы не укажете сообщение журнала в методе