2015-10-27 3 views
1

У меня есть log4j2 configure в моем приложении, но некоторые из моих зависимостей сторонних разработчиков используют log4j (1.2). Есть ли способ использовать log4j2.xml для регистрации, журналы, поступающие из log4j?Как использовать log4j2 для журнала log4j logs

или мне нужно поддерживать два конфигурационных файла, один для log4j2 и один для log4j.

Это конфигурация log4j2, которую я использую;

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration> 
    <Properties> 
    <Property name="logFiles">./logs</Property> 
    </Properties> 
    <Appenders> 
    <Console name="sysOut" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> 
    </Console> 
    <Loggers> 
     <logger name="org.sample.core" level="debug"> 
      <AppenderRef ref="sysOut"/> 
     </logger>  

     <Logger name="org.apache.log4j.xml" level="debug">  
      <AppenderRef ref="sysOut"/> 
     </Logger> 
     <Root level="warn"> 
      <AppenderRef ref="sysOut"/> 
     </Root> 
    </Loggers> 
</Configuration> 

ответ

0

Самый простой способ - использовать мостовую банку log4j-1.2, которая включена в log4j2. См. Log4j 1.2 Migration Guide. (Обязательно удалите устаревший log4j-1.2.x.jar из вашего пути к классу!)

Вам понадобится только конфигурация Log4j 2.

0

Первый включает каждый log4j12 зависимостей в других зависимостей третьей партии:

<exclusions> 
    <exclusion> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    </exclusion> 
    <exclusion> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    </exclusion> 
</exclusions> 

затем добавить log4j-над-SLF4J зависимость, ничего такого, что обычно требует log4j, которая исключается выше будет использовать log4j-над-SLF4J вместо.

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>log4j-over-slf4j</artifactId> 
    <version>1.7.13</version> 
</dependency> 
Смежные вопросы