J'utilise Spring Boot 2.0.x avec Logback. Au démarrage de mon application (en utilisant un tomcat intégré), je vois plusieurs messages de journal INFORMATION
(écrits en erreur standard) qui proviennent apparemment directement du tomcat intégré.
Contrairement au reste de ma journalisation, ces messages ne semblent pas être écrits par Logback. Les messages ont le contenu suivant:
Jan 08, 2019 3:13:00 PM org.apache.coyote.AbstractProtocol init INFORMATION: Initializing ProtocolHandler ["http-nio-8080"] Jan 08, 2019 3:13:00 PM org.apache.catalina.core.StandardService startInternal INFORMATION: Starting service [Tomcat] Jan 08, 2019 3:13:00 PM org.apache.catalina.core.StandardEngine startInternal INFORMATION: Starting Servlet Engine: Apache Tomcat/8.5.34 Jan 08, 2019 3:13:01 PM org.apache.catalina.core.ApplicationContext log INFORMATION: Initializing Spring embedded WebApplicationContext
Je ne suis intéressé par rien de tout cela, c'est juste du bruit. Comment puis-je me débarrasser de ces journaux? J'ai essayé toutes sortes de solutions, mais rien n'a fonctionné jusqu'à présent.
4 Réponses :
Vous pouvez définir les paramètres suivants dans application.properties
:
logging.group.tomcat = org.apache.catalina, org.apache.coyote, org.apache.tomcat
logging.level.tomcat=OFF
Puisque le Tomcat intégré utilise le JUL, cela définira le niveau de journalisation JUL concernant les classes liées à Tomcat sur OFF
.
Je pense qu'il devrait être réglé sur OFF
pour désactiver tous les messages? TRACE
montrera tout, petite erreur, je pense.
Autant que je sache, Tomcat intégré utilise JULI, un fork de JUL en quelque sorte. Je viens d'essayer votre solution, malheureusement cela n'a pas fonctionné - les journaux apparaissent toujours sur ma console ...
Regardez le nom d'utilisateur (dans le cas de Log4j (2)) apparaissant dans la console.
Ensuite, copiez le nom et ajoutez-le au préfixe logging.level. dans votre fichier application.properties .
Dans la capture d'écran ci-dessous, si je décommente la ligne de DispatcherServlet , la journalisation disparaît:
D'accord, il m'a fallu environ 5 heures pour comprendre ceci:
JULI
, un dérivé de java.util.logging
java.util.logging
, vous pouvez donc le configurer de la même manière Le plan est le suivant: avant de démarrer mon chat à ressort, je devais faire ceci:
java.util.logging.Logger.getLogger("org.apache").setLevel(java.util.logging.Level.WARNING);
Cela indiquera java .util.logging
(implémenté par JULI) pour propager uniquement les avertissements vers la console. Cela élimine tout le bruit de démarrage de tomcat, et toute autre journalisation sera effectuée par le cadre de journalisation de votre choix de toute façon (logback dans mon cas), donc cela ne devrait pas affecter du tout votre journalisation standard.
Où avez-vous mis cette ligne de code? Dans la classe d'application principale?
Dans la méthode principale Java, avant (!) De démarrer l'application Spring Boot.
Les journaux Apache juli peuvent être omis en définissant la propriété système du formateur java.util.logging sur une chaîne vide avant que SpringBootApplication ne démarre comme ceci
System.setProperty ("java.util.logging.SimpleFormatter.format", "");
Pouvez-vous essayer les suggestions fournies dans baeldung.com/spring-boot-disable-console -logging ?
Merci, je les ai tous essayés un par un, mais le tomcat intégré continue de se connecter ...