Vous pouvez envoyer des logs directement dans un système syslog, syslog-ng ou rsyslog.
Procédure
-
Ouvrez le fichier <RemoteEngineInstallationDirectory>/etc/org.ops4j.pax.logging.cfg et ajoutez les lignes suivantes :
Exemple
log4j2.appender.syslog.type = Syslog log4j2.appender.syslog.name = SyslogAppender log4j2.appender.syslog.format = RFC5424 log4j2.appender.syslog.host = localhost log4j2.appender.syslog.port = 514 log4j2.appender.syslog.protocol = TCP log4j2.appender.syslog.appName = RE log4j2.appender.syslog.includeMDC = true log4j2.appender.syslog.facility = LOCAL0 log4j2.appender.syslog.layout.type = JsonTemplateLayout log4j2.appender.syslog.layout.eventTemplateUri=${karaf.base.uri}/etc/jsonLogMinTemplate.json log4j2.appender.syslog.layout.stackTraceElementTemplateUri=${karaf.base.uri}/etc/StackTraceElementLayout.json log4j2.rootLogger.appenderRef.SyslogAppender.ref = SyslogAppender
- Sauvegardez le fichier.
-
Ajoutez les informations MDC (Mapped Diagnostic Context) au fichier de modèle JSON pour que les logs de sortie contiennent les informations MDC, si applicable. Ces informations MDC comprennent l'ID d'exécution d'une tâche de Talend Cloud Management Console.
- Dans <RemoteEngineInstallationDirectory>/etc, créez un fichier et nommez-le jsonLogMinTemplateCustom.json.
-
Ajoutez les lignes suivantes à ce nouveau fichier pour créer un resolver MDC :
Exemple
{ "logMessage": \{"$resolver": "message", "stringified": true}, "mdc": { "$resolver": "mdc" }, "logTimestamp": \{"$resolver": "timestamp", "epoch": {"unit": "millis", "rounded": true}}, "severity": \{"$resolver": "level", "field": "name"}, "ticLogLevel": \{"$resolver": "source", "field": "ticLogLevel"}, "bundle.name": \{"$resolver": "source", "field": "bundle.name"}, "bundle.version": \{"$resolver": "source", "field": "bundle.version"} }
- Configurez votre système JMS pour qu'il utilise ce nouveau modèle jsonLogMinTemplateCustom.json au lieu de celui par défaut jsonLogMinTemplate.json.