2013-11-04 38 views
0

我剛剛從log4j 1.x更新爲log4j2。第一版中的每件事情都很好。現在在更新到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追加程序沒有名字。他們必須有名字。
  • 有兩個root appender。配置中只能有一個root appender,因此您需要刪除其中的一個。
  • 幾個記錄器沒有定義的級別。如果你的意圖是由appender完成日誌級別過濾,我建議你確保所有事件都傳遞給appender:我建議你在這些logger上指定級別TRACE。
  • <Loggers>元素沒有關閉</Loggers>標記。這可能是最大的問題。
+0

另外,設置

相關問題