Wir haben verschiedene Mule-Anwendungen auf unserem Mule 3.6.4-Server implementiert, alle mit ihrer eigenen log4j-Konfiguration, die im Klassenpfad der Anwendung definiert ist (siehe unten). (Beispiel 1)Log4j2 Mule Ausgabe
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout
pattern="<%-4d{DATE}> <%-5p> <%t> <%m> %n" />
</Console>
<RollingFile name="file"
fileName="${sys:mule.home}/logs/apptest.log"
filePattern="${sys:mule.home}/logs/apptest.%d{yyyy-MM-dd}">
<PatternLayout
pattern="<%-4d{DATE}> <%-5p> <%t> <%m> %n" />
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<AsyncRoot level="INFO">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</AsyncRoot>
</Loggers>
</Configuration>
Und diese Anwendungen sind in dieser Reihenfolge in Mule ESB
Application1 Application2 Appplication3
für die Anwendungen Aus irgendeinem Grund alle Protokollierung bereitgestellt wird auf der Konsole ausgibt und nur die Protokolldatei für Anwendung 3. Die Protokollierung funktioniert nicht für Anwendung 1 oder 2?
Kann jemand Licht darauf werfen? Ist das ein Problem mit dem Classloader? Wir laufen Mule 3.6.4
Dank
"Du LOG4J Config sollte in jeder {app} bei der sein/classes /." Es ist. Wir haben ein log4j2 für jede Anwendung. Das Beispiel, das Sie oben angegeben haben, ist genau das, was wir tun. Wir haben drei log4j-Dateien für jede Anwendung in ihrem Klassenpfad – user3520080
Haben Sie Fehler in mule-ee.log? –
Nein, nichts, die Protokollierung von allen drei Anwendungen wird in mule_ee.log und dem dritten Anwendungsprotokoll, das die letzte Anwendung ist, ausgegeben. Die Anwendungsprotokollierung ist für die erste und zweite Anwendung unterbrochen. Wir können die Protokollierung sehen, wenn sie implementiert wird, aber keine der Logger '
user3520080