2015-12-07 130 views
1

我正在嘗試以下非常簡單的log4j配置來嘗試理解庫。我已經把文件在我的主包的子包Log4j2 - 不支持的參數

Main Package 
    | 
    |__Logging Package <- XML file is here 

log4j的XML

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration debug="true" 
    xmlns:log4j='http://jakarta.apache.org/log4j/'> 

    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" 
      value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="console" /> 
    </root> 

</log4j:configuration> 

我得到所需的日誌時,我從在的IntelliJ執行我的計劃,但如果我創建一個jar文件並執行它我開始得到以下log4j2初始化錯誤。

ERROR StatusLogger Unrecognized format specifier [d] 
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 
in conversion pattern. 
ERROR StatusLogger Unrecognized format specifier [thread] 
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at positi 
on 25 in conversion pattern. 
ERROR StatusLogger Unrecognized format specifier [level] 
ERROR StatusLogger Unrecognized conversion specifier [level] starting at positio 
n 35 in conversion pattern. 
ERROR StatusLogger Unrecognized format specifier [logger] 
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at positi 
on 47 in conversion pattern. 
ERROR StatusLogger Unrecognized format specifier [msg] 
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 
54 in conversion pattern. 
ERROR StatusLogger Unrecognized format specifier [n] 
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 
in conversion pattern. 

,然後爲每個日誌中我的應用程序,log4j的吐我在配置中指定爲在屏幕上沒有任何其他信息的模式。

我在Windows 7桌面上使用了以下log4j依賴項。

<dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
      <version>2.4.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-core</artifactId> 
      <version>2.4.1</version> 
     </dependency> 

我有以下配置Java版本在我的pom.xml

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <maven.compiler.source>1.8</maven.compiler.source> 
    <maven.compiler.target>1.8</maven.compiler.target> 
</properties> 

回答

0

你的配置是Log4j的1.x中,不是2.x版本

+1

謝謝。當我在IDE中運行時,我感到很奇怪,沒有任何抱怨。 – Gaurav

+1

我有同樣的錯誤,請改變什麼? – L01c

+0

我也在尋找解決方案。 pom文件需要什麼更改? –