2015-09-21 56 views
0

我想將日誌目錄從MULE_HOME/logs更改爲MULE_HOME/logs/apps。我發現的唯一指向文件路徑的地方是MULE_HOME/conf/wrapper.conf。編輯wrapper.log文件確實允許我重新定位mule_ee.log文件,這個文件似乎是Mule應用程序日誌,但我也想在那裏包含Mule應用程序日誌。如果我創建一個名爲FOO的應用程序並將其部署到運行時環境,它將創建一個名爲MULE_HOME/logs/mule-app-FOO.log的文件,但更改位置似乎很困難,自定義log4j2 XML文件。如何更改mule應用程序日誌文件的默認位置?

回答

1

如果你有騾子版本3.6及更高版本,則建議使用log4j2.xml,而不是的log4j.xml ....使用log4j2你可以改變路徑,讓你的應用程序日誌......一個簡單的例子是: -

<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/${sys:CustomapplicationName}.log" 
filePattern="${env:MULE_HOME}/logs/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log"> <!-- CustomapplicationName is set at mule-app.properties or in VM argument in Run As Configure as -DCustomapplicationName=Log4j --> 
<PatternLayout> 
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern> 
</PatternLayout> 
<Policies> 
<SizeBasedTriggeringPolicy size="120 KB" /> 
</Policies> 
<DefaultRolloverStrategy max="1" /> 
</RollingFile> 

只是把這個上面的代碼中你log4j2.xml在src/main/resource文件夾 在這裏,在上面可以看到的是,你已經被提的配置你的日誌文件的路徑中: -

<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}.log" 
    filePattern="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log"> 

其中${sys:CustomapplicationName}是mule-app.properties設置如下系統變量: -

CustomapplicationName=yourApplicationName 
+0

提供了一個例子是對我很有幫助。簡單的答案,如修正它在log4j2.xml中修正,並不真正走向解決方案的很遠。 –

+0

好吧然後..請接受答案然後:) –

+0

對不起,剛剛這樣做。 –

0

正確的方法是爲FOO應用程序提供log4j properties/xml文件,併爲FOO應用程序日誌定義所需的路徑。通過這種方式可以確保mule_ee.log不會混亂,同時其他應用程序也會擁有自己的日誌文件,這些日誌文件在出現錯誤/異常的情況下易於管理並易於反思特定應用程序日誌。

0

定義位置在log4j.properties文件中。

相關問題