Sie können ein Projekt von start.spring.io zu diesem Problem unter https://start.spring.io/starter.zip?type=gradle-project&language=java&bootVersion=2.2.5.RELEASE&baseDir=demo&groupId=com.example&artifactId=demo&name generieren = demo & description = Demo% 20project% 20for% 20Spring% 20Boot & packageName = com.example.demo & package = jar & javaVersion = 1.8 & dependencies = h2, data-jpa, web
Ich habe eine SpringBoot-Anwendung mit mehreren Modulen, die mit Gradle erstellt wurde. Es gibt eine Reihe von SpringBoot-Integrationstests. Wenn ich einen Build mache, erhalte ich eine Ausgabe vom Herunterfahren von SpringBoot auf die Konsole, wie unten gezeigt. Wie schalte ich diesen Ausgang aus?
± |master ↑1 {1} S:3 U:10 ✗| → ./gradlew build
> Task :core:test
2020-02-01 11:20:33.529 INFO 24114 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-02-01 11:20:33.531 INFO 24114 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-02-01 11:20:33.538 INFO 24114 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
> Task :email:test
2020-02-01 11:20:43.820 INFO 24150 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-02-01 11:20:43.820 INFO 24150 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-02-01 11:20:43.822 INFO 24150 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated...
2020-02-01 11:20:43.822 INFO 24150 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-02-01 11:20:43.830 INFO 24150 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2020-02-01 11:20:43.830 INFO 24150 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed.
> Task :security:test
2020-02-01 11:20:54.941 INFO 24188 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-02-01 11:20:54.944 INFO 24188 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-02-01 11:20:54.952 INFO 24188 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 46s
57 actionable tasks: 54 executed, 3 up-to-date
Als Referenz erzeugt eine aus start.spring.io mit gradle erstellte Anwendung keine Ausgabe auf dem Bildschirm
./gradlew build
BUILD SUCCESSFUL in 779ms
5 actionable tasks: 5 up-to-date
Stattdessen wird die Ausgabe in platziert build/reports/
In meinem Fall habe ich KEINE Änderungen an der Protokollierungskonfiguration vorgenommen, die mit dem Start geliefert wird. Es gibt keine logback.xml oder Änderungen an der application.yml für die Protokollierungsstufen. Ich erwarte, dass Gradle das System und den Systemfehler erfasst und an das System sendet, build/reports/
aber einige Ausgänge scheinen dem System zu entgehen.
INFO
ebene Protokollzeilen. Wie Sie sehen, stammen sie aus den Shutdown-Hooks und landen dort, wo die Protokollierung konfiguriert ist. Theoretisch könnten die Nachrichten an einem anderen Ort als beabsichtigt landen, da sich die Protokollierungskonfiguration ändert und die Hooks anschließend asynchron ausgeführt werden. Daher werden diese Zeilen standardmäßig an die Konsole gesendet, da die vorherige Konfiguration entladen wurde. Könnte sein.
INFO
(oder vollständiges Entfernen).