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
# 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
Ce code est un exemple. Lorsque vous le copiez pour l'utiliser dans votre système, n'oubliez pas de modifier MY_EXTERNAL_FOLDER pour utiliser le répertoire réel dans lequel stocker les logs, par exemple /home/usr/my-re-log sous Linux ou D:/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 lignes log4j2.appender.external.routes.route1.rolling.fileName et log4j2.appender.external.routes.route1.rolling.filePattern ressemblent à ceci :
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.