2016-07-26 69 views
1

我們在我們的Mule 3.6.4服務器上部署了各種mule應用程序,所有這些應用程序都在應用程序的類路徑中定義了自己的log4j配置,如下所示。 (1例)Log4j2 Mule問題

<?xml version="1.0" encoding="utf-8"?> 
<Configuration> 
    <Appenders> 

    <Console name="console" target="SYSTEM_OUT"> 
     <PatternLayout 
       pattern="&lt;%-4d{DATE}&gt; &lt;%-5p&gt; &lt;%t&gt; &lt;%m&gt; %n" /> 
    </Console> 

    <RollingFile name="file" 
       fileName="${sys:mule.home}/logs/apptest.log" 
       filePattern="${sys:mule.home}/logs/apptest.%d{yyyy-MM-dd}"> 

     <PatternLayout 
       pattern="&lt;%-4d{DATE}&gt; &lt;%-5p&gt; &lt;%t&gt; &lt;%m&gt; %n" /> 
     <TimeBasedTriggeringPolicy /> 
    </RollingFile> 

    </Appenders> 

    <Loggers> 
    <AsyncRoot level="INFO"> 
     <AppenderRef ref="console" /> 
     <AppenderRef ref="file" /> 
    </AsyncRoot> 
    </Loggers> 

</Configuration> 

而且這些應用都部署在這一秩序的騾子ESB

應用1 應用2 Appplication3

出於某種原因,所有的應用程序的日誌記錄輸出到控制檯並且只有應用程序3的日誌文件。日誌記錄不適用於應用程序1或2?

任何人都可以解釋這一點?這是一些類加載器的問題?我們正在運行騾子3.6.4

感謝

回答

1

一切都會安慰,因爲你在<Logger>配置有<AppenderRef ref="console" />。你的log4j配置應該在每個{app}/classes /中。

對於文件的appender,你嘗試過爲每個應用程序使用不同的文件名 -

<RollingFile name="file" 
       fileName="${sys:mule.home}/logs/app1test.log" 
       filePattern="${sys:mule.home}/logs/app1test.%d{yyyy-MM-dd}"> 

對於第二個應用程序 -

<RollingFile name="file" 
        fileName="${sys:mule.home}/logs/app2test.log" 
        filePattern="${sys:mule.home}/logs/app2test.%d{yyyy-MM-dd}"> 
+0

「你的log4j的配置應該在每個應用程序{} /班/。」它是。我們爲每個應用程序提供了一個log4j2。你上面給出的例子正是我們正在做的。我們在其類路徑中爲每個應用程序提供了三個log4j文件 – user3520080

+0

您是否在mule-ee.log中看到任何錯誤? –

+0

沒有什麼,從所有三個應用程序的所有日誌記錄都輸出到mule_ee.log和第三個應用程序日誌,這是最後部署的應用程序。第一個和第二個應用程序的應用程序日誌記錄被破壞。我們可以看到它正在部署時的日誌記錄,但沒有一個日誌記錄器 user3520080

0

您是否嘗試過使用附加參數爲RollingFile追加程序?您也可以考慮爲每個應用程序的RollingFile名稱賦予一個唯一的值。事情是這樣的:

對於應用1 -

<RollingFile name="app2_file" 
      fileName="${sys:mule.home}/logs/app1test.log" 
      filePattern="${sys:mule.home}/logs/app1test.%d{yyyy-MM-dd}" append="true"> 

    <PatternLayout 
      pattern="&lt;%-4d{DATE}&gt; &lt;%-5p&gt; &lt;%t&gt; &lt;%m&gt; %n" /> 
    <TimeBasedTriggeringPolicy /> 
</RollingFile> 

對於應用2 -

<RollingFile name="file" 
      fileName="${sys:mule.home}/logs/appt2est.log" 
      filePattern="${sys:mule.home}/logs/app2test.%d{yyyy-MM-dd}" append="true"> 

    <PatternLayout 
      pattern="&lt;%-4d{DATE}&gt; &lt;%-5p&gt; &lt;%t&gt; &lt;%m&gt; %n" /> 
    <TimeBasedTriggeringPolicy /> 
</RollingFile> 
+0

是的我爲每個應用程序都有一個唯一的值,我只發佈了一個應用程序日誌的示例。每三個具有相同的配置,但具有不同的日誌文件名稱。我嘗試append =「true」,但沒有運氣。 – user3520080