web-dev-qa-db-fra.com

Fichier de journalisation par défaut pour l'application Spring Boot

J'ai défini le niveau de journalisation dans l'application Spring Boot dans application.yml comme: logging.level.com.Myapplicationname = DEBUG

L'application est packagée et déployée en guerre sur Tomcat. En dehors de cela, je n'ai pas défini le fichier logback.xml pour définir le fichier journal, etc. Veuillez me dire où puis-je voir les journaux de la console lorsqu'un utilisateur utilise l'application sur le navigateur. Existe-t-il un fichier par défaut créé par le framework?.

18
Megan

Vous devez soit spécifier logging.file ou logging.path, mais pas les deux (lorsque les deux sont spécifiés, logging.path est ignoré et seulement logging.file est considéré).

1. Utilisation de logging.file

Vous pouvez utiliser logging.file l'une des manières suivantes:

logging.file = logfile.log                     //in current folder
logging.file = relativepath/to/logfile.log     //relative path with filename
logging.file = /fullpath/to/logfile.log        //full path with filename

Dans Spring Boot Documentation :

Par défaut, Spring Boot se connecte uniquement à la console et n'écrit pas les fichiers journaux. Si vous souhaitez écrire des fichiers journaux en plus de la sortie de la console, vous devez définir une propriété logging.file ou logging.path (par exemple dans votre application.properties).

Dans Spring Boot's how to logging doc :

Si la seule modification que vous devez apporter à la journalisation est de définir les niveaux de divers enregistreurs, vous pouvez le faire dans application.properties en utilisant le préfixe "logging.level", par ex. Vous pouvez également définir l'emplacement d'un fichier auquel vous souhaitez vous connecter (en plus de la console) à l'aide de "logging.file".

2. Utilisation de logging.path

Vous pouvez également utiliser logging.path pour définir le chemin, auquel cas le fichier journal sera automatiquement nommé spring.log:

logging.path = ./                         // -> spring.log in current folder
logging.path = relativepath/to/logs       // -> relativepath/to/logs/spring.log
logging.path = /fullpath/to/logs          // -> /fullpath/to/logs/spring.log

Dans doc Spring Boot :

[ Utilisation de logging.path] Écrit spring.log dans le répertoire spécifié. Les noms peuvent être un emplacement exact ou relatifs au répertoire courant.

springframework.guru sur la journalisation Spring Boot :

Il existe également une propriété logging.path pour spécifier un chemin d'accès pour un fichier de journalisation. Si vous l'utilisez, Spring Boot crée un fichier spring.log dans le chemin spécifié. Cependant, vous ne pouvez pas spécifier simultanément les propriétés logging.file et logging.path. Si c'est fait, Spring Boot ignorera les deux.

35
alexbt

Comme l'a dit alexbt, vous ne pouvez pas utiliser les deux propriétés en même temps (logging.path et logging.file) car Spring Boot ignorera les deux.

Mais vous pouvez utiliser logging.file avec un chemin codé.

Exemple: logging.file =/path/to/logs/your_logfile.log

7
Jorge Viana