Spring-Boot configuration de l'enregistrement lorsqu'il est déployé .la guerre
J'ai un simple ressort de démarrage de l'application packages .la guerre de fichier capable d'être déployée à un conteneur Tomcat. J'ai un logback.xml (ci-dessous) dans le classpath (/WEB-INF/classes), cependant, lorsqu'il est déployé à Tomcat le journal n'est pas écrit dans le fichier.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="DEBUG"/>
</configuration>
Si vous pour vous ne pouvez pas trouver un
spring.log
(ci-dessous par défaut de votre répertoire temp), essayez de définir explicitement le système de la propriété LOG_FILE
lors du lancement de tomcat et assurez-vous que ce répertoire est accessible en écriture (pour tomcat).OriginalL'auteur elpisu | 2014-08-25
Vous devez vous connecter pour publier un commentaire.
J'ai eu du mal avec ce qui est peut être le même problème d'enregistrement fonctionne très bien à partir de tests unitaires et de l'exécution de l'application "main () "méthode", mais dans tomcat il ignore ma configuration complètement.
Il s'avère que sur le démarrage, tomcat définit une variable d'environnement 'LOGGING_CONFIG" pour décrire l'emplacement de son enregistrement.les propriétés de fichier. Ceci peut être vu dans tomcat/bin/catalina.sh ou (.chauve-souris).
Printemps de Démarrage lit aussi l'environnement au démarrage, et dans le cadre de son smart manipulation de la configuration, je crois qu'il convertit LOGGING_CONFIG 'enregistrement.config', qui est une propriété qu'il utilise pour vous permettre de remplacer l'emplacement de son " configuration de l'enregistrement.
Le problème, c'est qu'il essaie alors de considérer que la valeur d'un nom de fichier et le charger (ce n'est pas vraiment un nom de fichier, mais une propriété système Java qui décrit un fichier), mais il échoue, et de ne pas initialiser la journalisation correctement et se poursuit avec ce que Tomcat installation par défaut.
La solution semble être de s'assurer que la variable d'environnement est définie d'abord, par exemple quelque chose comme (l'IDE devrait avoir une option pour cela dans l'Ide, allez à Exécuter -> Modifier les Configurations -> Variables d'Environnement -> entrez le nom et la valeur de la suivante):
Printemps Démarrage, l'utilisation de ce, de préférence à LOGGING_CONFIG de Tomcat, et fonctionne comme prévu.
La mesure, cependant, j'ai été incapable de le faire fonctionner à partir d'un fichier de configuration des applications.propriétés, ce qui signifie que c'est un paramètre global pour toutes les applications déployées pour que Tomcat instance.
EDIT: ce serait dû au fait que les variables d'environnement remplacer la configuration locale de toute façon, dans tous les autres cas, mais ce serait ce que tu voulais 🙁
EDIT 2: je peux confirmer que, dès le Printemps de Démarrage 1.1.6, ce problème a été contourné - il est enregistré comme un avertissement et il va continuer à utiliser l'existant (et corriger) la configuration de la journalisation. Malheureusement, vous ne pouvez pas désactiver le message d'avertissement lui-même à l'intérieur de votre logback.xml fichier.
Une discussion sur Github sur quoi faire à ce sujet: github.com/spring-projects/spring-boot/issues/1432.
Je rencontre le même problème(matous LOGGING_CONFIG est l'emportant)cependant, je suis toujours l'espoir de tirer parti de l'exploitation forestière.paramètre de configuration de l'application.les propriétés des points de localisation différente de la valeur par défaut (c'est à dire classpath:logback.xml) Toutes les idées pour les solutions possibles?
Où avez-vous mis cela dans l'Ide?
J'ai mis à jour ma réponse à couvrir (de mémoire)
OriginalL'auteur Patrick Herrera