Vous pouvez exporter les logs du moteur vers un dossier dédié, pour qu'un outil tiers gère les fichiers de log.
Vous devez assurer la maintenance et le nettoyage de ce dossier vous-même.
Procédure
-
Ouvrez le fichier <RemoteEngineInstallationDirectory>/etc/org.ops4j.pax.logging.cfg et ajoutez les lignes suivantes :
Exemple
Ce code est un exemple. Lorsque vous le copiez pour l'utiliser dans votre système, n'oubliez pas de modifier# Activate the External folder appender. # Be sure to configure/change the MY_EXTERNAL_FOLDER to have logs at the place you want. log4j2.rootLogger.appenderRef.ExternalFolder.ref = ExternalFolder # External folder appender log4j2.appender.external.type = Routing log4j2.appender.external.name = ExternalFolder log4j2.appender.external.rewritePolicy.type = TalendKarafRewritePolicy log4j2.appender.external.routes.type = Routes log4j2.appender.external.routes.pattern = $\\{ctx:flowExecutionId\\} log4j2.appender.external.routes.route1.type = Route log4j2.appender.external.routes.route1.rolling.type = RollingFile log4j2.appender.external.routes.route1.rolling.name = flowexecution-$\\{ctx:flowExecutionId\\} log4j2.appender.external.routes.route1.rolling.fileName = MY_EXTERNAL_FOLDER/$\\{ctx:flowID\\}/$\\{ctx:flowExecutionId\\}.log log4j2.appender.external.routes.route1.rolling.filePattern = MY_EXTERNAL_FOLDER/$\\{ctx:flowID\\}/$\\{ctx:flowExecutionId\\}.log.%i # Use the 3 lines below for json pattern log4j2.appender.external.routes.route1.rolling.layout.type = JsonTemplateLayout log4j2.appender.external.routes.route1.rolling.layout.eventTemplateUri=${karaf.base.uri}/etc/jsonLogMinTemplate.json log4j2.appender.external.routes.route1.rolling.layout.stackTraceElementTemplateUri=${karaf.base.uri}/etc/StackTraceElementLayout.json # Uncomment two lines below for text pattern #log4j2.appender.external.routes.route1.rolling.layout.type = PatternLayout #log4j2.appender.external.routes.route1.rolling.layout.pattern = ${log4j2.pattern} log4j2.appender.external.routes.route1.rolling.policy.type = SizeBasedTriggeringPolicy log4j2.appender.external.routes.route1.rolling.policy.size = 100MB log4j2.appender.external.routes.route1.rolling.strategy.type = DefaultRolloverStrategy log4j2.appender.external.routes.route1.rolling.strategy.max = 1 # By having this set to ${ctx:flowExecutionId} it will match when flowExecutionId is not set in the context log4j2.appender.external.routes.route2.type = Route log4j2.appender.external.routes.route2.key = $\\{ctx:flowExecutionId\\} log4j2.appender.external.routes.route2.null.type = CountingNoOp log4j2.appender.external.routes.route2.null.name = CountingNoOp
MY_EXTERNAL_FOLDER
pour utiliser le répertoire réel dans lequel stocker les logs, par exemple/home/usr/my-re-log
sous Linux ouD:/remote-engine/my-log-folder
sous Windows.La partie
$\\{ctx:flowID\\}/$\\{ctx:flowExecutionId\\}
représente les variables à utiliser pour nommer les fichiers de log. Si vous n'avez pas besoin d'un nom de fichier généré dynamiquement, remplacez-le par du plein texte.Après toutes ces modifications, les ligneslog4j2.appender.external.routes.route1.rolling.fileName
etlog4j2.appender.external.routes.route1.rolling.filePattern
ressemblent à ceci :- sous Windows :
log4j2.appender.external.routes.route1.rolling.fileName = C:/my-personal-folder/my-log-foler/my-log.log log4j2.appender.external.routes.route1.rolling.filePattern = C:/my-personal-folder/my-log-foler/my-log.log.%i
- sous Linux :
log4j2.appender.external.routes.route1.rolling.fileName = /home/usr/my-re-log/my-log.log log4j2.appender.external.routes.route1.rolling.filePattern = /home/usr/my-re-log/my-log.log.%i
- sous Windows :
- Sauvegardez le fichier.