2014-01-23 2 views
0

Поддерживает ли Mule ESB log4j2? Я пытаюсь добавить log4j2.xml в свое приложение esb, но даже после добавления log4j2.xml мое приложение mule esb не выполняет свою собственную реализацию log4j 1.2. Я хочу, чтобы мое приложение esb прочитало мой файл log4j2.xml и принимало/потребляло в параметрах то, что я указываю в моем файле log4j2.xml, и если присутствует файл log4j2.xml, он не должен читать свой собственный файл свойств журнала log4j 1.2.Поддержка Mule ESB Log4j2

У меня возникла проблема с внедрением log4j2 (.xml) с приложением mule esb. Любая помощь будет очень высоко ценится.

+0

любой образец log4j2.xml, который работает с мула ESB было бы здорово для меня, чтобы начать с. Благодарю. – Jai

+0

Прошу пройти через этот отличный блог от сотрудника MuleSoft: http://blogs.mulesoft.org/mule-3-6-asynchronous-logging/ –

ответ

0

Последняя версия mule esb поддерживает log4j2. Надеюсь, что версия может быть тесно связана, что может быть причиной того, что она может не работать.

0

В Log4j2 есть адаптер, который позволяет приложениям, закодированным в соответствии с API log4j-1.2, использовать реализацию log4j2. (Смотрите также FAQ.)

шаги для достижения этого:

  • удалить log4j-1.2.x.jar из
  • классам
  • добавить log4j-1,2-API-2.0.jar баночку путь к классам.
  • обеспечить log4j-Апи-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 не будет прочитан. Mule все еще читает только log4j.properties. операторы журнала slf4j не перенаправляются, как определено в log4j2.xml, а инструкции slf4j журнала в mule следуют за тем, что определено в файле log4j.properties. – Jai

0

Log4j2 неявно поддерживается от Mule-3.6.0 и далее. Для получения дополнительной информации пройдите по этой ссылке Asynchronous Logging in Mule

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>