Spring Boot : Comment puis-je définir le niveau de journalisation avec application.properties ?

C'est une question très simple, mais je ne trouve aucune information ; (Peut-être que mes connaissances sur les frameworks Java font cruellement défaut)

Comment puis-je définir le niveau de journalisation dans le fichier application.properties?
Et l'emplacement du fichier de journalisation, etc.

Solution

Mise à jour: À partir de Spring Boot v1.2.0.RELEASE, les paramètres dans application.properties ou application.yml s'appliquent. Voir la section [Log Levels] (http://docs.spring.io/spring-boot/docs/1.2.1.RELEASE/reference/htmlsingle/#boot-features-custom-log-levels) du guide de référence.

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

Pour les versions antérieures de Spring Boot, c'est impossible. Vous devez simplement utiliser la configuration normale de votre framework de journalisation (log4j, logback) pour cela. Ajoutez le fichier de configuration approprié (log4j.xml ou logback.xml) au répertoire src/main/resources et configurez-le à votre convenance.

Vous pouvez activer la journalisation de débogage en spécifiant --debug lors du démarrage de l'application depuis la ligne de commande.

Spring Boot fournit également un bon point de départ pour logback afin de configurer certains paramètres par défaut, la coloration etc. le fichier base.xml que vous pouvez simplement inclure dans votre fichier logback.xml. (Ceci est également recommandé par rapport au fichier par défaut logback.xml de Spring Boot.

Commentaires (7)

Vous pouvez le faire en utilisant votre application.properties.

logging.level.=ERROR -> Définit le niveau de journalisation de la racine sur erreur
...
logging.level.=DEBUG -> Définit le niveau de journalisation de la racine à DEBUG

logging.file=${java.io.tmpdir}/myapp.log -> Définit le chemin absolu du fichier journal à TMPDIR/myapp.log

Un ensemble sain de propriétés d'application par défaut concernant la journalisation à l'aide de profils serait le suivant : application.properties:

spring.application.name=
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log

application-dev.properties :

logging.level.=DEBUG
logging.file=

Lorsque vous développez dans votre IDE préféré, il suffit d'ajouter un argument VM -Dspring.profiles.active=dev à la configuration d'exécution/débogage de votre application.

Cela vous donnera une journalisation des erreurs seulement en production et une journalisation de débogage pendant le développement SANS écrire la sortie dans un fichier journal. Cela améliorera les performances pendant le développement (et permettra aux disques SSD d'économiser quelques heures de fonctionnement ;) ).

Commentaires (6)

Je m'assure que l'astuce de Dave Syer reçoive un peu d'amour, car l'ajout de debug=true à application.properties activera effectivement la journalisation du débogage.

Commentaires (0)