2014-02-24 67 views
1

我很困惑。我使用log4j 2進行日誌記錄,一切正常,當我用eclipse啓動我的程序時。但是在將源打包到jar之後,沒有日誌寫入控制檯或文件。Log4j 2未從可執行文件jar中登錄

這裏是JAR的清單:

Manifest-Version: 1.0 
Built-By: s 
Build-Jdk: 1.6.0_45 
Class-Path: settings settings/log4j2.xml lib/poi-3.9.ja 
r lib/commons-codec-1.5.jar lib/mysql-connector-java-5.1.29.jar lib/l 
og4j-api-2.0-rc1.jar lib/log4j-core-2.0-rc1.jar 
Created-By: Apache Maven 3.0.4 
Main-Class: application.Start 
Archiver-Version: Plexus Archiver 

我log4j2.xml是在這裏:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %C{1}.%M{1}:%L{1} - %msg%n"/> 
    </Console> 
    <RollingFile name="app" fileName="log/app.log" bufferedIO="true" filePattern="log/app-%i.log.gz"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %C{1}.%M{1}:%L{1} - %msg%n"/> 
     <Policies> 
      <SizeBasedTriggeringPolicy size="500 KB"/> 
     </Policies> 
    </RollingFile > 
    </Appenders> 
    <Loggers> 
    <Logger name="app" level="trace"> 
     <AppenderRef ref="app" /> 
    </Logger> 
    <Root level="trace"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</Configuration> 

所有lib中的其他罐子正確綁定和應用效果很好。我在做什麼與log4j錯誤?

+0

? 「log4j-core-2.0-rc1」 –

+0

你的JAR是否是一個「獨立JAR」? – Raedwald

+0

@ArnaudPotier log4j 2.0尚未發貨。 log4j2的最新版本(在編寫本文時)爲rc1。 – amcintosh

回答

1

我現在有一個解決方案:問題是我的類路徑。我從

Class-Path: settings 

改成了

Class-Path: settings/ 

這足以爲什麼要使用日誌發佈候選版本,其中XML是在陳述目錄。

+0

查看細節:http://stackoverflow.com/a/13549046/34088 –

0

嘗試以-Dlog4j.debug=truedetails)開頭。然後log4j會在加載它時打印大量關於配置的信息。

對於log4j 2,請嘗試<Configuration status="DEBUG">

+0

我使用log4j 2並根據此文檔進行配置:http://logging.apache.org/log4j/2.x/manual/appenders.html。當我從eclipse啓動項目時,我的配置工作正常,所以我認爲問題與jar的classpath有關。如果我添加-Dlog4j.debug = true,則不會顯示輸出。 – user1829716

+0

我已將它更改爲但它沒有影響 – user1829716

+0

這告訴我你的配置沒有被log4j 2拾取。不幸的是,似乎沒有辦法在全局啓用調試模式:http://logging.apache.org/log4j/2.x/faq.html#troubleshooting –