C'est une question très simple, mais je ne trouve pas d'informations.
(Peut-être que mes connaissances sur les frameworks Java font gravement défaut)
Comment puis-je définir le niveau de journalisation avec application.properties?
Et l'emplacement du fichier journal, etc.?
logging
spring-boot
Zeodtr
la source
la source
Settings
->Config Vars
réglélogging.level.com.yourpackage
au niveau souhaité (INFO, ERREUR, DEBUG).Réponses:
Mise à jour: à partir de Spring Boot v1.2.0.RELEASE, les paramètres de
application.properties
ouapplication.yml
s'appliquent. Voir la section Niveaux de journalisation du guide de référence.Pour les versions antérieures de Spring Boot, vous ne pouvez pas. Vous devez simplement utiliser la configuration normale de votre infrastructure de journalisation (log4j, logback) pour cela. Ajoutez le fichier de configuration approprié (
log4j.xml
oulogback.xml
) dans lesrc/main/resources
répertoire et configurez à votre guise.Vous pouvez activer la journalisation du débogage en spécifiant
--debug
lors du démarrage de l'application à partir de la ligne de commande.Spring Boot fournit également un bon point de départ pour la déconnexion afin de configurer certaines valeurs par défaut, la coloration, etc. du fichier base.xml que vous pouvez simplement inclure dans votre fichier logback.xml. (Ceci est également recommandé à partir du fichier logback.xml par défaut dans Spring Boot.
la source
application.properties
ouapplication.yml
s'appliquent, comme l'a répondu Richard (modulo le:
ou=
problème --- les deux points semblent fonctionner pour moi).Vous pouvez le faire en utilisant votre application.properties.
logging.level.=ERROR
-> Définit le niveau de journalisation racine sur erreur...
logging.level.=DEBUG
-> Définit le niveau de journalisation racine sur DEBUGlogging.file=${java.io.tmpdir}/myapp.log
-> Définit le chemin absolu du fichier journal sur TMPDIR / myapp.logUn ensemble par défaut sain de application.properties concernant la journalisation à l'aide de profils serait: application.properties:
application-dev.properties:
Lorsque vous développez à l'intérieur de votre IDE préféré, vous ajoutez simplement un
-Dspring.profiles.active=dev
argument as VM à la configuration d'exécution / débogage de votre application.Cela vous donnera uniquement une erreur de journalisation dans la 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;)).
la source
logging.level.:DEBUG
spring-boot 1.4.0
:logging.level.=DEBUG
le démarrage de l'application échouera et une erreur se produira:java.lang.ClassCircularityError: java/util/logging/LogRecord
logging.level.
n'est qu'un raccourci syntaxique pratiquelogging.level.root
, qui pourrait être préféré (1) moins susceptible d'être confondu avec une faute de frappe, (2) potentiellement plus explicite et (3) de travailler avec le=
signe d'affectation, ce qui offre une cohérence plus globale. dans le fichier de configuration.La bonne façon de définir le niveau de journalisation racine utilise la propriété
logging.level.root
. Voir la documentation qui a été mise à jour depuis que cette question a été posée à l'origine.Exemple:
la source
Supposons que votre application porte le nom du package
com.company.myproject
. Ensuite, vous pouvez définir le niveau de journalisation pour les classes à l'intérieur de votre projet comme indiqué ci-dessous dans les fichiers application.propertieslogging.level.org.springframework.web = DEBUG
etlogging.level.org.hibernate = DEBUG
définira le niveau de journalisation pour les classes du framework Spring web et Hibernate uniquement.Pour définir l'emplacement du fichier journal, utilisez
la source
Si vous êtes sur Spring Boot, vous pouvez directement ajouter les propriétés suivantes dans application.properties fichier pour définir le niveau de journalisation, personnaliser le modèle de journalisation et stocker les journaux dans le fichier externe.
Ce sont différents niveaux de journalisation et son ordre du minimum << maximum.
OFF << FATAL << ERROR << WARN << INFO << DEBUG << TRACE << ALL
Veuillez passer par ce lien pour personnaliser plus précisément votre journal.
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
la source
Faire en sorte que le conseil de Dave Syer reçoive de l'amour, car l'ajout
debug=true
à application.properties permettra en effet la journalisation du débogage.la source
Dans le cas où vous souhaitez utiliser un cadre de journalisation différent, log4j par exemple, j'ai trouvé que l'approche la plus simple consiste à désactiver la journalisation de Spring Boots et à implémenter la vôtre. De cette façon, je peux configurer chaque niveau de journal dans un fichier, log4j.xml (dans mon cas).
Pour ce faire, il vous suffit d'ajouter ces lignes à votre pom.xml:
Vous avez probablement déjà la première dépendance et n'avez besoin que des deux autres. Veuillez noter que cet exemple ne couvre que log4j.
C'est tout, maintenant vous êtes prêt à configurer la journalisation pour le démarrage dans votre fichier de configuration log4j!
la source
log4j.properties
.Vous pouvez essayer de définir le niveau de journalisation sur DEBUG, il affichera tout lors du démarrage de l'application
la source
Pour les enregistrements: la documentation officielle , comme pour Spring Boot v1.2.0.RELEASE et Spring v4.1.3.RELEASE:
la source
Si vous souhaitez définir plus de détails, veuillez ajouter un nom de fichier de configuration de journal "logback.xml" ou "logback-spring.xml".
dans votre fichier application.properties, saisissez comme ceci:
dans le loback-spring.xml, entrez comme ceci:
la source
Les réponses existantes sont excellentes. Je veux juste partager avec vous une nouvelle fonctionnalité de démarrage de printemps permettant de regrouper les journaux et de définir le niveau de journalisation sur l'ensemble du groupe.
Exemple tiré de la documentation:
C'est une fonctionnalité intéressante qui apporte plus de flexibilité.
la source
Dans ma configuration actuelle, je l'ai défini dans application.yaml comme ça:
J'utilise spring-boot: 2.2.0.RELEASE. Vous pouvez définir n'importe quel package qui devrait avoir le niveau TRACE comme ça.
la source
dans le projet de démarrage de printemps, nous pouvons écrire logging.level.root = WARN, mais ici le problème est que nous devons redémarrer à nouveau même si nous avons ajouté la dépendance devtools, dans le fichier de propriétés si nous sommes modifiés, aucune valeur ne sera détectable automatiquement, pour cette limitation, j'ai appris la solution i, e, nous pouvons ajouter un actionneur dans pom.xml et passer le niveau de l'enregistreur comme indiqué ci-dessous dans le client postman dans la barre d'url http: // localhost: 8080 / loggers / ROOT ou http: // localhost: 8080 / loggers / com .mycompany et dans le corps, vous pouvez passer le format json comme ci-dessous
la source
En cas d'éclipse IDE et que votre projet est maven, n'oubliez pas de nettoyer et de construire le projet pour refléter les changements.
la source
Avec Springboot 2, vous pouvez définir le niveau de journalisation racine avec une variable d'environnement comme celle-ci:
Ou vous pouvez définir une journalisation spécifique pour des packages comme celui-ci:
la source
LOGGING_LEVEL_ROOT=DEBUG