Java Log4j 2不是从可执行jar记录的

Java Log4j 2不是从可执行jar记录的,java,eclipse,logging,log4j2,Java,Eclipse,Logging,Log4j2,我很困惑。我使用log4j2进行日志记录,当我用eclipse启动我的程序时,一切正常。但是,在将源代码打包到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-

我很困惑。我使用log4j2进行日志记录,当我用eclipse启动我的程序时,一切正常。但是,在将源代码打包到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中的所有其他jar都已正确绑定,并且应用程序运行良好。我用log4j做错了什么?

试着从
-Dlog4j.debug=true
()开始。然后,log4j将在加载配置时打印大量有关配置的信息


使用log4j2,尝试
我现在有了一个解决方案:问题是我的类路径。我把它从

Class-Path: settings


只需说明xml所在的目录即可

为什么要使用候选版本进行日志记录?“log4j-core-2.0-rc1”是不是意味着你的JAR是一个“独立的JAR”?@ArnaudPotier log4j 2.0还没有发货。在撰写本文时,您可以获得的最新log4j2是rc1。我正在使用log4j2并根据以下文档对其进行配置:。当我从eclipse启动项目时,我的配置工作正常,所以我认为问题在于jar的类路径。如果我添加-Dlog4j.debug=true,也不会显示任何输出。我已将其更改为,但它没有任何效果,这表明log4j 2根本没有获取您的配置。不幸的是,似乎没有一种全局启用调试模式的方法:在更正jar的类路径之后,has effect:)谢谢您的帮助
Class-Path: settings/