Exécuter une Route de microservice en utilisant une configuration Log4j externe
Cette section vous montre comment exécuter une Route de microservice en utilisant une configuration Log4j externe.
Le microservice est construit à partir d'une simple Route contenant un composant cTimer et un composant cLog.
Le composant cTimer va déclencher cinq fois l'échange de messages.
Le composant cLog va enregistrer les échanges de messages. Le niveau de log est configuré sur WARN, qui est la configuration par défaut du Studio.
Lorsque la Route est exécutée dans le Studio, le résultat suivant s'affiche dans la console.
Après avoir construit la Route de microservice (fichier .jar), vous pouvez l'exécuter dans une fenêtre d'invite de commande :
-
Pour exécuter le microservice avec la configuration par défaut, utilisez la commande suivante :
java -jar demo_0.1.jar
Les logs de messages suivants s'affichent, de manière identique au résultat d'exécution du Studio.
-
Pour exécuter le microservice avec une configuration Log4j personnalisée, vous pouvez utiliser la propriété spring.config.additional-location pour appeler le fichier personnalisé log4j.xml contenu dans un dossier de configuration externe. Un exemple de configuration Log4j contenu dans le dossier config du répertoire jar du microservice s'affiche ci-dessous pour fournir un fichier tesb.log lorsque le microservice démarre.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/> </layout> </appender> <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="tesb.log"/> <param name="MaxFileSize" value="1024KB"/> <param name="MaxBackupIndex" value="10"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/> </layout> </appender> <root> <priority value="info"/> <appender-ref ref="stdout"/> <appender-ref ref="rollingFile"/> </root> </log4j:configuration>
Pour utiliser cette configuration, exécutez la commande suivante :
java -jar demo_0.1.jar --spring.config.additional-location=./config
Vous pouvez également utiliser la propriété logging.config pour appeler le fichier de configuration Log4j :
java -jar demo_0.1.jar --logging.config=./config/log4j.xml
Les logs de messages suivants s'affichent et sont écrits dans le fichier tesb.log du répertoire dans lequel est situé le fichier jar du microservice.
Le fichier tesb.log est créé :
Les logs de messages sont écrits dans le fichier tesb.log :