2013-11-04 3 views
0

방금 ​​log4j 1.x에서 log4j2로 업데이트했습니다. 모든 것은 제 1 판에서 잘 작동했습니다. 이제 log4j2로 업데이트 한 후 어떤 것도 로깅하지 않습니다. 아래 코드를 붙여 넣습니다. 하나는log4j2 문제. 콘솔이나 파일에 아무 것도 기록 할 수 없습니다.

밖으로 좀 도와주세요이 내 의존성이

 <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-1.2-api</artifactId> 
     <version>2.0-beta9</version> 
     <type> jar</type> 

    </dependency> 

    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.0-beta9</version> 
     <type> jar</type> 

    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.0-beta9</version> 
     <type> jar</type> 

    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-jcl</artifactId> 
     <version>2.0-beta9</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-slf4j-impl</artifactId> 
     <version>2.0-beta9</version> 
    </dependency>             
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-taglib</artifactId> 
     <version>2.0-beta9</version> 
    </dependency> 

이 내 log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 

<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
     <console name="Console" target="SYSTEM_OUT" includeLocation="true"> 
     <PatternLayout pattern="%d %-5p [%t] [%c:%L] %m%n"/> 

     </console> 
     <RollingRandomAccessFile name="Rolling" fileName="${sys:DOC_ROOT}/logs/UILogs-${sys:SERVER_NAME}-${sys:SERVER_ID}-${sys:SERVER_TYPE}.log" 
           filePattern="${sys:DOC_ROOT}/logs/UILogs-${sys:SERVER_NAME}-${sys:SERVER_ID}-${sys:SERVER_TYPE}-%d{yyyy-MM-dd}.log.gz"> 
      <PatternLayout pattern="%d %-5p [%t] [%c:%L] %m%n"/> 
      <Policies> 
       <TimeBasedTriggeringPolicy/> 
       <SizeBasedTriggeringPolicy size="250 MB"/> 
      </Policies> 
      <DefaultRolloverStrategy max="180" compressionLevel="9"/> 
     </RollingRandomAccessFile> 



     <Async name="dev"> 
      <AppenderRef ref="DevSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="debug"/> 
      <AppenderRef ref="Rolling" level="debug"/> 
     </Async> 
     <Async name="test"> 
      <AppenderRef ref="TestSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="debug"/> 
      <AppenderRef ref="Rolling" level="debug"/> 
     </Async> 
     <Async name="prod"> 
      <AppenderRef ref="ProdSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="info"/> 
      <AppenderRef ref="Rolling" level="info"/> 
     </Async> 
     <Async name="local"> 
      <AppenderRef ref="DevSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="debug"/> 
      <AppenderRef ref="Rolling" level="debug"/> 
     </Async> 
     <Async name=""> 
      <AppenderRef ref="ProdSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="info"/> 
      <AppenderRef ref="Rolling" level="info"/> 
     </Async> 
     <Async name=""> 
      <AppenderRef ref="TestSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="debug"/> 
      <AppenderRef ref="Rolling" level="debug"/> 
     </Async> 
     <Async name=""> 
      <AppenderRef ref="ProdSMTP" level="fatal"/> 
      <AppenderRef ref="Console" level="info"/> 
      <AppenderRef ref="Rolling" level="info"/> 
     </Async> 
     <Async name="lib"> 
      <AppenderRef ref="Console" level="info"/> 
      <AppenderRef ref="Rolling" level="info"/> 
     </Async> 

    </Appenders> 

    <Loggers> 
     <Root level="debug" additivity="false"> 
      <AppenderRef ref="${sys:SERVER_TYPE}"/> 
     </Root>   
     <root level="error"> 
     <appender-ref ref="Console"/> 
    </root> 
     <Logger name="org.apache.ibatis" additivity="false"> 
      <AppenderRef ref="lib"/> 
     </Logger> 
     <Logger name="java.sql" additivity="false"> 
      <AppenderRef ref="lib"/> 
     </Logger> 
     <Logger name="RollingRandomAccessFile" additivity="true"> 
      <AppenderRef ref="Rolling"/> 
     </Logger> 
     <logger name="com.foo.Bar" level="trace"> 
    <appender-ref ref="Console"/> 
</logger> 

</Configuration> 

답변

0

당신은 어떤 관련 오류가 발생하고 있습니까입니까? 예를 들어 오류 인 경우 : "ERROR StatusLogger SimpleLogge를 사용하여 로깅 구현을 찾을 수 없습니다"이 시도하십시오 link 로깅 문제를 해결하십시오.

2

는 몇 가지 구성에 수정이 있습니다

종속 관계 :

  • <type>jar 사이에 공백 ''문자가 있습니다. (이것이 어떤 문제를 야기하는지 확실하지 않음).

Log4j2.xml 구성 :

  • 는 이름이없는 세 Async 펜더가 있습니다. 반드시 이름이 있어야합니다.
  • 두 개의 루트 애펜더가 있습니다. 구성에는 하나의 루트 appender 만있을 수 있으므로 하나를 제거해야합니다.
  • 여러 로거에는 정의 된 수준이 없습니다. appender에서 로그 수준 필터링을 수행하려는 경우 모든 이벤트가 appender에 전달되도록하는 것이 좋습니다. 이러한 로거에서 TRACE 수준을 지정하는 것이 좋습니다.
  • <Loggers> 요소에는 닫는 </Loggers> 태그가 없습니다. 이것은 가장 큰 문제 일 수 있습니다.
+0

Log4j 구성 문제에 대한 자세한 정보를 얻으려면

관련 문제