2016-12-02 8 views
0

Приложение по-прежнему указывает на log4j 1.2 после обновления до log4j 2.5. найдите ниже log4j2.xml файл и предупреждения, которые я получил при запуске сервера. Основываясь на нижеприведенных конфигурациях, он должен создавать файлы журналов, но он не создается.Приложение, не указывающее на 2.x, указывающее на 1.2

Примечание: конфигурации дутья работают в локальной системе, но не работают, когда я развертываю сервер.

<?xml version="1.0" encoding="UTF-8" ?> 
    <Configuration status="TRACE"> 
     <Properties> 
      <Property name="rotateLogsInterval">6</Property> 
      <Property name="log.dir">D:\\Mconnect\\LOGGER</Property> 
      <Property name="log.INVALIDMNO.dir">D:\\Mconnect\\LOGGER\\INVALIDMNO</Property> 
      <Property name="log.MOBINL1000.dir">D:\\Mconnect\\LOGGER\\MOBINL1000</Property> 

      <Property name="log.ECONET1000.dir">D:\\Mconnect\\LOGGER\\ECONET1000</Property> 
      <Property name="log.AIRTEL1000.dir">D:\\Mconnect\\LOGGER\\AIRTEL1000</Property> 
     </Properties> 

     <Appenders> 
      <Console name="Console" target="SYSTEM_OUT"> 
       <PatternLayout pattern="%-5p %d [%t] %c: %m%n" /> 
      </Console> 

      <File name="EIGInformation" 
       fileName="C:\\EIG_SOURCE_CODE\\EIG_20140901\\logs\\EIGInformation1.log"> 
       <PatternLayout> 
        <Pattern>%5p | %m%n</Pattern> 
       </PatternLayout> 
      </File> 

      <!-- Debug logger --> 
      <RollingRandomAccessFile name="debugLogger" 
       fileName="${log.dir}/mconnectDebugLogger.log" 
       filePattern="${log.dir}/$${date:yyyy-MM}/mconnectDebugLogger-%d{yyyy-MM-dd-HH}-%i.log.gz"> 

       <PatternLayout> 
        <Pattern>%5p | %d | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.dir}" maxDepth="2"> 
        <IfFileName glob="*/mconnectDebugLogger-*.log.gz" /> <IfLastModified age="60d" 
        /> </Delete> </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 
      <!-- Transaction tdr file --> 
      <RollingRandomAccessFile name="transactionDetails" 
       fileName="${log.dir}/TDR.log" 
       filePattern="${log.dir}/$${date:yyyy-MM}/TDR-%d{yyyy-MM-dd-HH}-%i.log.gz"> 

       <PatternLayout> 
        <Pattern>%5p | %d | %t:: | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.dir}" maxDepth="2"> 
        <IfFileName glob="*/TDR-*.log.gz" /> <IfLastModified age="60d" /> </Delete> 
        </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 

      <!-- Connect Info General log. --> 
      <RollingRandomAccessFile name="connectInfoLogGeneral" 
       fileName="${log.INVALIDMNO.dir}/connectInfoLogGeneral.log" 
       filePattern="${log.INVALIDMNO.dir}/$${date:yyyy-MM}/connectInfoLogGeneral-%d{yyyy-MM-dd-HH}-%i.log.gz"> 

       <PatternLayout> 
        <Pattern>%5p | %d | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.INVALIDMNO.dir}" 
        maxDepth="2"> <IfFileName glob="*/connectInfoLogGeneral-*.log.gz" /> <IfLastModified 
        age="60d" /> </Delete> </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 

      <!-- Connect Process log. --> 
      <RollingRandomAccessFile name="connectProcessLogGeneral" 
       fileName="${log.INVALIDMNO.dir}/connectProcessLogGeneral.log" 
       filePattern="${log.INVALIDMNO.dir}/$${date:yyyy-MM}/connectProcessLogGeneral-%d{yyyy-MM-dd-HH}-%i.log.gz"> 
       <PatternLayout> 
        <Pattern>%5p | %d | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.log.INVALIDMNO.dir.dir}" 
        maxDepth="2"> <IfFileName glob="*/connectProcessLogGeneral-*.log.gz" /> <IfLastModified 
        age="60d" /> </Delete> </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 

      <!-- Connect Info log --> 
      <RollingRandomAccessFile name="connectInfoLogMOBINL1000" 
       fileName="${log.MOBINL1000.dir}/connectInfoMOBINL1000.log" 
       filePattern="${log.MOBINL1000.dir}/$${date:yyyy-MM}/connectInfoMOBINL1000-%d{yyyy-MM-dd-HH}-%i.log.gz"> 

       <PatternLayout> 
        <Pattern>%5p | %d | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.MOBINL1000.dir}" 
        maxDepth="2"> <IfFileName glob="*/connectInfoMOBINL1000-*.log.gz" /> <IfLastModified 
        age="60d" /> </Delete> </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 

      <!-- Connect Process log --> 
      <RollingRandomAccessFile name="connectProcessLogMOBINL1000" 
       fileName="${log.MOBINL1000.dir}/connectProcessMOBINL1000.log" 
       filePattern="${log.MOBINL1000.dir}/$${date:yyyy-MM}/connectProcessMOBINL1000-%d{yyyy-MM-dd-HH}-%i.log.gz"> 

       <PatternLayout> 
        <Pattern>%5p | %d | %m%n</Pattern> 
       </PatternLayout> 
       <!-- <DefaultRolloverStrategy> <Delete basePath="${log.MOBINL1000.dir}" 
        maxDepth="2"> <IfFileName glob="*/connectProcessMOBINL1000-*.log.gz" /> <IfLastModified 
        age="60d" /> </Delete> </DefaultRolloverStrategy> --> 
       <Policies> 
        <TimeBasedTriggeringPolicy interval="${rotateLogsInterval}" /> 
       </Policies> 
      </RollingRandomAccessFile> 


     </Appenders> 

     <Loggers> 

      <!-- CXF is used heavily by Mule for web services --> 
      <AsyncLogger name="org.apache.cxf" level="WARN" /> 

      <!-- Apache Commons tend to make a lot of noise which can clutter the log --> 
      <AsyncLogger name="org.apache" level="INFO" /> 

      <!-- Reduce startup noise --> 
      <AsyncLogger name="org.springframework.beans.factory" 
       level="WARN" /> 

      <!-- Mule classes --> 
      <AsyncLogger name="org.mule" level="INFO" /> 
      <AsyncLogger name="com.mulesoft" level="INFO" /> 


      <AsyncLogger name="EIGInformation" level="INFO"> 
       <AppenderRef ref="EIGInformation" /> 
      </AsyncLogger> 

      <AsyncLogger 
       name="com.comviva.mconnect.webservices.impl.MConnectWebServices" 
       level="info"> 
       <AppenderRef ref="debugLogger" /> 
      </AsyncLogger> 
      <AsyncLogger name="transactionDetails" level="OFF"> 
       <AppenderRef ref="debugLogger" /> 
      </AsyncLogger> 

      <AsyncLogger name="connectInfoLogGeneral" level="INFO"> 
       <AppenderRef ref="connectInfoLogGeneral" /> 
      </AsyncLogger> 
      <AsyncLogger name="connectProcessLogGeneral" level="INFO"> 
       <AppenderRef ref="connectProcessLogGeneral" /> 
      </AsyncLogger> 

      <AsyncLogger name="connectInfoLogMOBINL1000" level="INFO"> 
       <AppenderRef ref="connectInfoLogMOBINL1000" /> 
      </AsyncLogger> 
      <AsyncLogger name="connectProcessLogMOBINL1000" level="INFO"> 
       <AppenderRef ref="connectProcessLogMOBINL1000" /> 
      </AsyncLogger> 

      <AsyncRoot level="INFO"> 
       <AppenderRef ref="EIGInformation" /> 
      </AsyncRoot> 
     </Loggers> 

    </Configuration> 



log4j: Using URL [file:/home/contest/prd/muleTomcat/webapps/Connect-1.3.0/WEB-INF/classes/log4j2.xml] for automatic log4j configuration. 
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator 
log4j: System property is :null 
log4j: Standard DocumentBuilderFactory search succeded. 
log4j: DocumentBuilderFactory is: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 

log4j:WARN Continuable parsing error 2 and column 31 
log4j:WARN Document root element "Configuration", must match DOCTYPE root "null". 
log4j:WARN Document root element "Configuration", must match DOCTYPE root "null". 
log4j:WARN Continuable parsing error 2 and column 31 
log4j:WARN Document is invalid: no grammar found.log4j:WARN Document is invalid: no grammar found. 

log4j:ERROR DOM element is - not a <log4j:configuration> element. 
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
[localhost-startStop-1] INFO org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean - Building JPA container EntityManagerFactory for persistence 

ответ

1

Проблема в том, что старый log4j-1.2.x.jar все еще находится в пути к классам. Пожалуйста, удалите его из пути к классам и обеспечивают следующие банки находятся на пути к классам:

  1. log4j-апи-2.x.jar
  2. log4j-ядро-2.x.jar
  3. log4j-1.2- api-2.x.jar - этот адаптер будет маршрутизировать вызовы журналов, которые приложение делает для реализации Log4j2.

Я рекомендую использовать самую последнюю версию Log4j для 2.x (2.7 на момент написания этой статьи).

Если вы используете slf4j, удалите org.slf4j:slf4j-log4j12 (это для старого Log4j 1) и добавьте org.apache.logging.log4j:slf4j-impl.

+0

Спасибо, что ответили. Я просто добавил упомянутые баночки в путь класса, и я удалил 1,2 баночки, но все равно не повезло, я получаю ту же ошибку, что и упоминал в сообщении. Я использую slf4j-api-1.7.7 и slf4j-simple-1.7.7, и я не использую slf4j-log4j12. – damodaram

+0

Журналы '' log4j: ... "' создаются Log4j 1, поэтому 1.2 jar все равно должен находиться в пути к классам ... Кроме того, 'log4j-1.2-api-2.x.jar' не является на пути к классам, или он появляется после баночки Log4j 1.2. Вы можете распечатать 'System.getProperty (« java.class.path »)' для проверки. –