2015-10-16 1 views
2

Nous avons un projet Spring Boot multi-module et il a DEBUG de journalisation de niveau qui doit être modifié au niveau INFO. Comme il utilise Spring Boot 1.2.5, j'ai suivi les instructions here et here, mais le réglage logging.level.org.springframework.web=INFO dans application.properties n'a aucun effet et nous continuons à recevoir des messages DEBUG dans le journal.Impossible de modifier le niveau de journalisation de démarrage à partir de application.properties mais peut être à partir de logback.xml

Cependant, en fournissant un logback.xml comme celui sur le site mentionné ci-dessus et le réglage du niveau fonctionne. Même sans le définir explicitement, comme base.xml fourni avec Spring Boot et inclus dans notre logback.xml, le niveau de journalisation racine est défini par défaut sur INFO. Spring Boot utilise SLF4J avec Logback par défaut, mais nous ne voulons pas dépendre de Logback juste pour cela et nous devrions être en mesure de configurer le niveau de journalisation de application.properties. Le projet est configuré par programmation donc application.properties ne contient rien d'autre. Les deux fichiers de configuration se trouvent dans le chemin de classe sous src/main/resources.

J'ai essayé avec logging.level.*=INFO, essayé différents délimiteurs (:, , =). J'ai cherché dans les fichiers du projet mais je n'ai trouvé aucune trace de la configuration du journal existant.

Qu'est-ce qui peut provoquer que application.properties est ignoré/est masqué mais logback.xml ne l'est pas?

application.properties

logging.level.org.springframework.web=INFO 

logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml"/> 
</configuration> 
+1

Essayez si cela fonctionne à un niveau supérieur. Êtes-vous sûr que les propriétés sont lues? Essayez de changer quelque chose d'autre, server.port par exemple – Marged

+0

Si vous utilisez 'logback.xml', je doute que les paramètres de' application.properties' fonctionnent toujours. Essayez de supprimer votre fichier 'logback.xml' et n'utilisez qu'un fichier' application.properties'. –

+0

@M.Deinum désolé si j'étais ambigu. Le problème est que lorsque je supprime 'logback.xml',' application.properties' ne prendra pas effet. – deakandris

Répondre

0

Si vous mettez logback.xml Spring Boot utilisera Logback comme LoggingSystem primaire. Spring Boot n'a pas de dépendance de consignation obligatoire, à l'exception de l'API de consignation-logging.

+0

Le problème est que je ne peux pas définir la journalisation dans 'application.properties' lorsqu'il n'y a pas de' logback.xml'. L'utilisation de ce dernier est une solution de contournement pour définir le niveau de journalisation. – deakandris

1

Essayez de définir le nom du fichier application.properties à utiliser avec soit spring.config.location ou spring.config.name (voir docs pour plus de détails)

plus que vous pouvez utiliser le point final de /envActuator pour voir quels fichiers sont traités par Spring Boot et quelles valeurs sont lues par eux. Cela vous indiquera s'il y a plus de fichier de configuration que vous n'en fournissez. Peut-être qu'une vérification rapide pourrait vous aider: vérifiez quelque chose dans le fichier application.properties, par exemple server.port=4711, alors vous saurez immédiatement si le fichier est lu ou non. Gardez à l'esprit que certaines sorties de journalisation sont écrites avant la lecture de application.properties. Cela signifie que certains messages org.springframework.web peuvent être déjà écrits avant que Spring Boot n'apprenne que vous ne souhaitez pas les voir.