2015-10-29 86 views
1

如何從「/opt/applications/app1/log/config/log4j2.xml」這樣的特定文件中獲取騾子應用程序中的配置3.6.2。常用的方法是從配置文件log4j2.xml中獲取存儲在資源文件夾中的配置信息,我們需要從其他外部路徑讀取此配置文件。log4j2.xml騾子應用程序中的配置文件3.6.2

回答

2

默認情況下,Mule使用自己的log4j2文件進行日誌記錄。要從外部路徑讀取log4j2.xml配置文件,請在您的文件應用程序上下文中添加下一個Bean,爲此指定要在Mule的上下文General中使用的外部文件。

應用程序上下文:

 <bean id="loggerContext" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
     <property name="targetClass"> 
      <value> org.apache.logging.log4j.LogManager</value> 
     </property> 
     <property name="targetMethod"> 
      <value>getContext</value> 
     </property> 
     <property name="arguments"> 
      <value>false</value> 
     </property> 
     </bean> 

     <bean id="loggerContext1" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
     <property name="targetObject" ref="loggerContext" /> 
     <property name="targetMethod"> 
      <value>setConfigLocation</value> 
     </property> 
     <property name="arguments"> 
      <value>${log4j.external.path}</value> 
     </property> 
     </bean> 

     <bean id="loggerContext2" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
     <property name="targetObject" ref="loggerContext" /> 
     <property name="targetMethod"> 
      <value>reconfigure</value> 
     </property> 
     </bean> 

然後,你需要從文件騾流程導入此背景下,具有:

騾配置

<mule xmlns:https="http://www.mulesoft.org/schema/mule/https" 
      xmlns="http://www.mulesoft.org/schema/mule/core" 
    {..} 
    <!-- Add this: --> 
    <spring:beans> 
     <spring:import resource="classpath*:application-context.xml" /> 
    </spring:beans> 
    {..} 
    <flow name="http-name" > 
     {..} 
    </flow> 
</mule> 
+0

然後是有必要導入應用程序上下文?,或者我可以在mule配置文件中進行配置? –

+0

是的,它在mule配置文件中的可能配置,但我建議你分開mule。 – JhonQO