2014-01-23 203 views
0

Mule ESB是否支持log4j2?我正在嘗試在我的esb應用程序中添加log4j2.xml,但即使在添加log4j2.xml之後,我的mule esb應用程序也會默認使用它自己的log4j 1.2實現。我希望我的esb應用程序讀取我的log4j2.xml文件,並在參數中使用/使用我在log4j2.xml中指定的內容,並且如果存在log4j2.xml文件,則它不應該讀取其自己的log4j 1.2實現日誌屬性文件。Mule ESB Log4j2支持

我在用mule esb應用程序實現log4j2(.xml)時遇到問題。任何幫助將非常感激。

+0

這與騾子ESB的工作將是巨大的,我與啓動任何樣品log4j2.xml。謝謝。 – Jai

+0

請通過MuleSoft員工的優秀博客:http://blogs.mulesoft.org/mule-3-6-asynchronous-logging/ –

回答

0

最新版本的mule esb支持log4j2。希望版本可能緊密耦合,這可能是它可能無法正常工作的原因。

0

Log4j2有一個適配器允許針對log4j-1.2 API編碼的應用程序使用log4j2實現。 (又見FAQ

步驟來實現這一點:

  • 從類路徑刪除的log4j-1.2.x.jar
  • log4j的-1.2-API-2.0.jar jar添加到類路徑。
  • 確保log4j的-API-2.0.jar和log4j的核心-2.0.jar在類路徑中

現在的log4j-1.2 API和log4j2 API都將委託給log4j2實施。示例配置是here

+0

謝謝。會試試這個。 :) – Jai

+0

它解決了這個問題嗎? –

+0

不是。即使從類路徑中移除log4j-1.2.x.jar,Mule也會自行加載log4j-1.2,並且不會讀取log4j2.xml。騾仍然只讀取log4j.properties。 slf4j日誌語句未按照log4j2.xml中的定義重定向,而mule中的slf4j日誌語句僅遵循log4j.properties文件中定義的內容。 – Jai

0

Mule esb支持log4j。 檢查您是否導入了slf4j庫。

您需要創建/重命名log4j2-的test.xml

0

這是我log4j2.xml和我的pom.xml文件,I'm用騾子V7.1。 我希望它有幫助。

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="debug"> 
    <Properties> 
     <Property name="log-path">/my_path/my_logs/my_app</Property> 
     <Property name="app-id">my_app</Property> 
    </Properties> 

    <Appenders> 
     <RollingFile name="file-log" fileName="${log-path}/${app-id}.log" 
      filePattern="${log-path}/${app-id}-%d{yyyy-MM-dd}.log"> 
      <PatternLayout> 
       <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n 
       </pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy interval="1" 
        modulate="true" /> 
      </Policies> 
     </RollingFile> 

     <Console name="console" target="SYSTEM_OUT"> 
      <PatternLayout 
       pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" /> 
     </Console> 
    </Appenders> 
    <Loggers> 

     <Logger name="org.apache.logging.log4j" level="warn" additivity="false"> 
      <appender-ref ref="file-log" /> 
      <appender-ref ref="console" /> 
     </Logger> 

     <Root level="info" additivity="false"> 
      <appender-ref ref="file-log" /> 
      <appender-ref ref="console" /> 
     </Root>`enter code here` 
    </Loggers> 

</Configuration> 

的pom.xml

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.0</version> 
    </dependency> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.0</version> 
    </dependency>