Wenn man Tests für Quarkus-Anwendungen schreibt, bedient man sich in der Regel des Unit Test Frameworks JUnit und der Extension @QuarkusTest.
Leider verwendet JUnit für sein internes Logging JUL (d. h. die Klassen aus der Standardbibliothek im Paket java.util.logging), was meiner Meinung nach nicht gerade das beste Logging-System ist. Das von Quarkus angebotene JBoss Logging hat ein deutlich leistungsfähigeres API und verfügt schon im Default über ein besseres Ausgabeformat. Darüber hinaus kann man dieses Logging Backend mit Quarkus Properties konfigurieren. Es ist also wünschenswert, dass der Test Code sein Protokoll auch nach JBoss Logging dirigiert.
Dies gelingt durch Setzen der System Property java.util.logging.manager auf den Wert org.jboss.logmanager.LogManager. Aber Achtung: Das muss vor der ersten Log-Ausgabe geschehen, da man den Logging Manager von JUL später nicht mehr umschalten kann. In Maven-Projekten setzt man die Property am besten in der Konfiguration der Test-Plugins:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
</systemPropertyVariables>
</configuration>
(analog für das Failsafe Plugin)
Für die Ausführung der Tests auf der Kommandozeile (mvn test ...) oder in IntelliJ IDEA war’s das: Die Log-Ausgaben erscheinen nun im gewohnten JBoss-Logging-Format.
Wer als IDE Visual Studio Code benutzt, muss etwas mehr tun, da die Maven-Einstellung von der IDE nicht berücksichtigt wird (Stand Oktober 2025). Man kann die System Property hier in der Datei .vscode/settings.json setzen (Erreichbar über Ctrl-P -> Preferences: Open Workspace Settings (JSON)):
{
...,
"java.test.config": {"vmArgs": ["-Djava.util.logging.manager=org.jboss.logmanager.LogManager"]}
}






